#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...