排序算法学习——冒泡排序
生活随笔
收集整理的這篇文章主要介紹了
排序算法学习——冒泡排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
冒泡排序是比較容易理解的一種穩定排序方法,我們將記錄關鍵字的順序表elem[0……n-1]看作垂直排列,每個記錄看作是重量為elem[i]的氣泡。根據重氣泡不能在輕的氣泡上的原則,從上往下掃描,把重氣泡下沉,輕氣泡上浮。這樣,我們便能得到一個有序的順序表了,具體代碼如下:
1 template <typename ElemType> 2 void bubbleSort(ElemType elem[],int len) 3 { 4 if(NULL == elem) 5 return; 6 int i,j,k; 7 ElemType temp; 8 for(i=len-1;i>0;i--) 9 { 10 for(j=0;j<i;j++) 11 { 12 if(elem[j]>elem[j+1]) 13 { 14 temp = elem[j]; 15 elem[j]=elem[j+1]; 16 elem[j+1]=temp; 17 } 18 } 19 } 20 }下面是測試效果
1 #include<windows.h> 2 #include<iostream> 3 using namespace std; 4 int main() 5 { 6 int arr[10]; 7 srand(unsigned int(time_t(NULL)));//隨機數種子 8 for(int i=0;i<10;i++) 9 { 10 arr[i]=rand()%10;//0-10內的整數 11 cout<<arr[i]<<" "; 12 } 13 cout<<endl; 14 long time_start = GetTickCount(); 15 bubbleSort(arr,10); 16 long time_stop = GetTickCount(); 17 for(int i=0;i<10;i++) 18 { 19 cout<<arr[i]<<" "; 20 } 21 cout<<endl; 22 cout<<"Time cost:"<<time_stop - time_start<<endl; 23 return 0; 24 }?
數據量小,時間忽略不計!
?轉載于:https://www.cnblogs.com/fclz/p/3367393.html
總結
以上是生活随笔為你收集整理的排序算法学习——冒泡排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AFP是什么意思,全称是什么
- 下一篇: OpenStack看到中国“钱”景