C 排序演算法整理

2021-10-01 23:14:54 字數 2863 閱讀 8954

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