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