from 菜鳥程式設計 參考 十大經典排序演算法
#include
using
namespace std;
template
<
typename t>
//整數或浮點數皆可使用,若要使用類(class)或結構體(struct)時必須過載大於(>)運算子
/*一次冒泡
for (int i = 0; i < len - 1; i++) */
//氣泡排序實現
for(
int i =
0; i < len -
1;i++)}
//輸出新的陣列
for(
int i =
0; i <= len -
1; i++)}
intmain()
;int len =
int(
sizeof
(aa)
/sizeof
(*aa));
bubble_sort
(aa,len)
;}
template
<
typename t>
//整數或浮點數皆可使用,若要使用類(class)或結構體(struct)時必須過載大於(>)運算子
void
selection_sort
(t arr,
int len)
}
#include
using
namespace std;
void
selection_sort
(int arr,
int len)
cout << endl;
/*找尋陣列最小值,置於首位 一次選擇排序
int min = 0;
for(int i=0;iarr[i + 1]) min = i+1;
} swap(arr[0],arr[min])
*///選擇排序實現
for(
int i =
0; i < len -
1; i++
)swap
(arr[i]
, arr[min]);
}for
(int i =
0; i <= len -
1; i++)}
intmain()
;int len =
int(
sizeof
(aa)
/sizeof
(*aa));
selection_sort
(aa, len)
;}
#include
using
namespace std;
void
insertion_sort
(int arr,
int len)
arr[j +1]
= key;}}
intmain()
;int len =
(int
)sizeof
(arr)
/sizeof
(*arr)
;for
(int i =
0; i < len; i++
) cout << arr[i]
<<
' ';
cout << endl;
insertion_sort
(arr, len)
;for
(int i =
0; i < len; i++
) cout << arr[i]
<<
' ';
cout << endl;
return0;
}
明天繼續寫。。。。 排序演算法整理 c語言
1.選擇排序 選擇排序就是找到它的最小元素,然後和第乙個元素交換,將最小元素放到它在有序表中的最終位置上。然後從第二個元素開始掃瞄列表,找到後面n 1個元素中的最小元素,再和第二個元素比較,這樣到最後就已經排完序了。其時間複雜度是 o n 2 附程式 選擇排序,2018.06.17 輸入亂序的陣列n...
排序 排序演算法整理
經常零零散散的用到排序演算法,將幾類常見的總結下來 時間複雜度o n 2 空間複雜度o 1 穩定排序 param arr public static void insersort int arr else arr j 1 tmp 氣泡排序 時間複雜度 o n 2 空間複雜度o 1 穩定排序 para...
排序演算法整理
template void cinsertsort mysort function compare template void cselectsort mysort function compare swap datas i datas id void cshellsort mysort funct...