freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計實習(xí)報告-文庫吧

2025-01-03 21:54 本頁面


【正文】 List L){ //⑴直接插入排序 int i,j。 for(i=2。i=Llength。++i){ if(LR[i].keyLR[i1].key) //需將LR[i]插入有序子表 { LR[0]=LR[i]。 //復(fù)制為哨兵 LR[i]=LR[i1]。 for(j=i2。(LR[0].keyLR[j].key)。j) LR[j+1]=LR[j]。 //記錄后移 LR[j+1]=LR[0]。 //插入到正確的位置 }PrintSort(L)。 //輸出排序結(jié)果}a=1。} (2)折半插入排序: void BInsertSort(SqList L){ //折半插入排序 int i,j,m,low,high。 for(i=2。i=Llength。++i){ LR[0]=LR[i]。 //將LR[i]暫存到LR[0] low=1。high=i1。 while(low=high) //在R[low..high]中折半查找有序插入的位置 { m=(low+high)/2。 //折半第4頁 if(LR[0].keyLR[m].key) high=m1。 //插入點在低區(qū) else low=m+1。 //插入點在高區(qū) } for(j=i1。j=high+1。j) LR[j+1]=LR[j]。 //記錄后移 LR[high+1]=LR[0]。 //插入 PrintSort(L)。 //輸出排序結(jié)果} a=1。 //將a重新初始化為} (3)冒泡排序: void BubbleSort(SqList L){ //冒泡排序; int i,j,m。 for(i=1。iLlength。i++){ for(j=0。jLlength。j++) { //選擇表L中最大的依次放到最后面的位置中去 if(LR[j].keyLR[j+1].keyamp。amp。jLlength){ m=LR[j].key。LR[j].key=LR[j+1].key。 LR[j+1].key=m。}} PrintSort(L)。 //輸出排序結(jié)果 } a=1。} (4)簡單選擇排序: void SelectSort(SqList L){ //簡單選擇排序 int i,j,m。 int SelectMinKey(SqList L,int i)。 for(i=1。iLlength。++i){ //選擇第i小的記錄,并交換到位 j=SelectMinKey(L,i)。 //在LR[i..Llength]中選擇key最小記錄 if(i!=j){ //與第i個記錄交換 m=LR[i].key。LR[i].key=LR[j].key。LR[j].key=m。} PrintSort(L)。} a=1。} (5)快速排序: void QuickSort(SqList L){ //快速排序 QSort(L,1,Llength)。 //對順序表L調(diào)用快速排序第5頁 a=1。} void QSort(SqList L,int low ,int high){ int pivotloc。 if(lowhigh){ pivotloc=Partition(L,low,high)。//L表一分為二 QSort(L,low,pivotloc1)。 //對低位子表遞歸排序 QSort(L,pivotloc+1,high)。//對高位子表遞歸排序}(6)堆排序: void HeapSort(SqList L){ //堆排序 int i,m。 for(i=Llength/2。i0。i) //把LR[1..Llength]建成大頂堆 HeapAdjust(L,i,Llength)。 for(i=Llength。i1。i){ m=LR[1].key。 //將堆頂記錄和當(dāng)前未經(jīng)排序子序列LR[1..i]中 LR[1].key=LR[i].key。 //最后一個記錄相互交換 LR[i].key=m。 PrintSort(L)。 HeapAdjust(L,1,i1)。 //將LR[1..i1]重新調(diào)整為大頂堆 } a=1。}(7)歸并排序: void MergeSort(SqList L, int length){ //歸并排序 int i, left_min, left_max, right_min, right_max, next。 int *tmp = (int*)malloc(sizeof(int) * length)。 if (tmp == NULL) { fputs(Error: out of memory\n, stderr)。} for (i = 1。 i length。 i *= 2) {// i為步長,1,2,4,8…… for (left_min = 1。 left_min = lengthi。 left_min = right_max){ right_min=left_max = left_min+i。 right_max=left_max + i。 if (right_max length){ right_max = length+1。} next = 1。第6頁 while (left_min left_max amp。amp。 right_min right_max){ tmp[next++] = LR[left_min].key LR[right_min].key ? LR[right_min++].key : LR[le
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1