幾種排序演算法的實現

2021-09-29 04:32:22 字數 1967 閱讀 8665

//對陣列int a[n]進行直接插入排序

void

insertsort

(int a,

int n)

r[j+1]

=temp;

//完成下標為i的元素的排序

}}

//對陣列a[n]進行折半插入排序

void

insertsort

(int a,

int n)

//折半查詢結束

//移動元素

for(j=i;j>high+

1;j--

) a[j]

=temp;

//將下標為i的元素排好序

}}

//對陣列a[n]進行氣泡排序

void

bubblesort

(int a,

int n)}if

(flag==

false

)return

;//如果某一趟冒泡結束,未發生交換,說明陣列中的元素已經實現有序排列

}}

void

quicksort

(int r,

int low,

int high)

while

(i)//從左向右

if(i}//當i=j,迴圈結束

r[i]

=pivot;

//pivot最終位置確定

quicksort

(r,low,i-1)

;quicksort

(r,i+

1;high);}

}

void

seletesort

(int a,

int n)

swap

(a[k]

,a[i]);

}}

//使用快速排序,將an作為樞軸量

void

sort

(int a,

int low,

int high)

while

(i>pivot)

j--;if

(i} a[i]

=pivot;

}

//使用快速排序

void

sort

(int a,

int low,

int high)

while

(i==1

) i++;if

(i}//while

a[i]

=pivot;

}

//方法一:使用氣泡排序

void

sort

(int a,

int n)

}//for

if(flag==

false

)return;}

//for

}//方法二:建立輔助陣列

void

sort

(int a,

int n)

else

}int t=0;

for(

;j)}

bool

doublebubblesort

(dlinklist &l)

p=p-

>next;

}//while

q=p;

p=q-

>prior;

while

(p->prior!=l)

p=p-

>prior;

}//while

l=p;

//下次起泡的起點

}}

幾種排序演算法的實現

氣泡排序演算法 param mutablearray 需要排序的陣列 選擇排序演算法 param mutablearray 需要排序的陣列 void selectionsortarray nsmutablearray mutablearray 3.快速排序演算法 oc 快速排序演算法 param a...

幾種排序演算法實現

class sort include sort.h include sort sort void sort sort void 交換兩個數 inline void sort swap int a,int b 氣泡排序 1.比較相鄰的前後兩個資料,如果前面的資料大於後面的資料,就將兩個資料交換。2.這...

幾種排序演算法的C 實現

插入排序 include define max size 1000 using namespace std 插入排序,pa為指向陣列的指標,n為陣列元素個數 void insert sort int pa,int n pa i key int main else free p1 free p2 合併...