排序演算法-氣泡排序
氣泡排序是一種交換排序,交換排序的基本思想是比較兩個記錄鍵值的大小,如果這兩個記錄鍵值的大小出現逆序,則交換這兩個記錄,這樣將鍵值較小的記錄向序列的前部移動,鍵值較大的記錄向序列後部移動
氣泡排序首先將第一個記錄的鍵值和第二個記錄的鍵值進行比較,如果逆序,則記錄交換,然後比較第二個和第三個記錄的鍵值。知道完成第n-1個記錄和第n個記錄的鍵值比較交換為止。整個過程為第一趟氣泡,鍵值最大的記錄移動到第n個位置上。重複上述過程,當在一趟氣泡過程中沒有進行記錄交換的操作時,排序過程結束;
整個排序過程最多進行n-1次,如果是8個數,最大進行7趟氣泡;
在演算法實現時,定義一個整型變數endsort,在每次排序之前,先置0,如果在一趟記錄中交換了記錄,則置為1.當一次迴圈結束時,再堅持endsort,如果endsort的值為0,則終止演算法;
void BubbleSort(List R,int n)
{
int i,j,temp,endsort;
for ( i = 1; i < n-1; i++) {
endsort =0;
for ( j = 1; j < n-i; j++) {
if(R[j].key>R[j+1].key)
{
temp=R[j];
R[j]=R[j+1];
R[j+1]=temp;
endsort=1;
}
}
if(endsort==0) break;
}
}
相關文章
- 排序演算法--氣泡排序排序演算法
- 排序演算法__氣泡排序排序演算法
- 排序演算法–氣泡排序排序演算法
- 排序——氣泡排序排序
- Java排序演算法之氣泡排序Java排序演算法
- 氣泡排序演算法排序演算法
- 排序演算法 - 氣泡排序和選擇排序排序演算法
- 排序:氣泡排序&快速排序排序
- 9. 氣泡排序,以及如何優化氣泡排序,氣泡排序屬於插入排序排序優化
- 氣泡排序排序
- 排序演算法(氣泡排序,選擇排序,插入排序,希爾排序)排序演算法
- 深入淺出的排序演算法-氣泡排序排序演算法
- 演算法(氣泡排序,快排,歸併排序)演算法排序
- 演算法之常見排序演算法-氣泡排序、歸併排序、快速排序演算法排序
- 【排序演算法動畫解】排序介紹及氣泡排序排序演算法動畫
- js氣泡排序JS排序
- JavaScript氣泡排序JavaScript排序
- 氣泡排序1排序
- 氣泡排序-fusha排序
- 氣泡排序演示排序
- Shell氣泡排序排序
- d氣泡排序排序
- 容器氣泡排序排序
- 氣泡排序法排序
- 氣泡排序(Java)排序Java
- Python 氣泡排序Python排序
- 選擇排序和氣泡排序排序
- 氣泡排序與選擇排序排序
- 【排序】氣泡排序(待補充)排序
- 畫江湖之演算法篇【排序演算法】氣泡排序演算法排序
- 畫江湖之演算法篇 [排序演算法] 氣泡排序演算法排序
- python實現氣泡排序、插入排序以及快速排序演算法Python排序演算法
- 死磕演算法之氣泡排序演算法排序
- java氣泡排序演算法實現Java排序演算法
- 從演算法開始 [氣泡排序]演算法排序
- 從演算法開始[氣泡排序]演算法排序
- 【一起學習排序演算法】2 氣泡排序排序演算法
- C++排序演算法之氣泡排序改進版C++排序演算法
- 十大經典排序演算法之氣泡排序排序演算法