c 排序演算法

2021-09-26 08:16:58 字數 1436 閱讀 7461

#include#include#include#define maxsize 100;

using namespace std;

//時間複雜度最好o(n)最差o(n^2)平均o(n^2) 穩定排序

//氣泡排序

void bubblesort(vector&v) }}

//選擇排序 時間複雜度最好o(n^2)最差o(n^2)平均o(n^2) 穩定排序

void selectsort(vector&v)

if (min != i)

swap(v[min], v[i]); }}

//插入排序 時間複雜度最好o(n)最差o(n^2)平均o(n^2) 穩定排序

void insertsort(vector&v)//插入排序

v[j+1] = temp;//插入

} }}//不穩定排序

void shellsort(vector&v)//希爾排序

} }

while (increment > 1);

}void heapadjust(vector&v, int s, int m)//堆排序調整

v[s] = temp;//交換一下

}//堆排序最好最壞時間複雜度都為o(nlogn),不穩定,不適合排序個數較少情況

void heapsort(vector&v)//堆排序

for (int i = v.size()-1; i > 0; i--) }

/*//以下為歸併排序最好最壞都是o(nlog(n)),排序穩定

void mergesort(int sr, int tr, int s, int m, int t)

//若左右兩個陣列有乙個已經合併完了,另外乙個直接接上即可

if (i < m)

if (j < t) }

//歸併排序

void msort(int sr, int tr1, int s, int t)

}*///快速排序 不穩定排序o(nlogn) 空間複雜度為log(n) 至 n

void quicksort(vector&s, int l, int r)

quicksort(s, l, i - 1); // 遞迴呼叫

quicksort(s, i + 1, r); }}

void print(vectorl)//列印

; print(vec);

//bubblesort(vec);

//selectsort(vec);

//insertsort(vec);

//shellsort(vec);

//heapsort(vec);

quicksort(vec, 0, vec.size()-1);

print(vec);

system("pause");

}

欲練神功,必先自宮!

C 排序演算法

最基本的 氣泡排序 c code using system namespace bubblesorter j public class mainclass bubblesorter sh new bubblesorter sh.sort iarrary for intm 0 m iarrary.le...

C 排序演算法

protected int bubbleup int array 氣泡排序 return array public int selectionsorter int list 選擇排序 int temp list min list min list i list i temp return list ...

C 演算法排序

不廢話,上 using system using system.collections.generic using system.linq using system.text using system.threading.tasks namespace 排序演算法 陣列 氣泡排序 選則排序 arra...