氣泡排序,插入排序,基數排序(三種)

2021-10-10 03:43:29 字數 1431 閱讀 2170

//c++實現氣泡排序

#include

using namespace std;

void

print

(int* pdata, int count)

cout << endl;

}void

bubblesort

(int* pdata, int count)}}

}//c++實現插入排序

void

insertionsort

(int *a, int len)

a[i+1]

= key;}}

/** 列印陣列

*/void

printarray

(int array[

],int length)

cout << endl;}/*

*求資料的最大位數,決定排序次數

*/int maxbit

(int data[

], int n)

}return d;

}void

radixsort

(int data[

], int n)

//基數排序

for(j =

1; j <

10; j++

) count[j]

= count[j -1]

+ count[j]

;//將tmp中的位置依次分配給每個桶

for(j = n -

1; j >=

0; j--

)//將所有桶中記錄依次收集到tmp中

for(j =

0; j < n; j++

)//將臨時陣列的內容複製到data中

data[j]

= tmp[j]

; radix = radix *10;

}}int main()

; int k;

cout<<

"input"

0;i<

20;i++

)else

if(a[i]!=0

)}cout<<

"1-bubble sort,2-insertsort,3-radix sort"

cin>>b;

if(b ==1)

else

if( b ==2)

else

if( b ==3)

}radixsort

(a,k);}

for(int j =

0;j)else cout

"end"

}

三種排序演算法(氣泡排序,選擇排序,插入排序)

1.氣泡排序 流程 在乙個陣列中,第1個數與第2個數比,第2個數與第3個數比,第3數與第4個數比,若前面比後面大,則將兩個位置的數互換。因此,每次會將最大值推向最右邊,即座標索引為n 1處。當n 1處的元素敲定後,則繼續從0位置處推,推至n 2處,如此反覆。n n 1 n 2.時間複雜度為o n2 ...

氣泡排序 選擇排序 插入排序三種基礎排序的比較

排序在計算機中是很基礎並且是十分重要的問題,但由於排序有可能非常耗時,所以它已經成為了電腦科學中廣泛研究的課題。對此僅僅討論一些簡單的排序演算法,氣泡排序,選擇排序,插入排序。對此只是自己學習的乙個記錄。例如 有一群公升高不盡相同的人站成一排,我們想要通過某種方法,將他們排成一列公升高有序的隊伍 例...

動態鍊錶實現基數排序,插入排序

includeusing namespace std struct node class listnode int node yx int i return x listnode listnode listnode listnode delete root cout n n 呼叫析構函式 void ...