#include
#include
#include
//排序用到的結構和函式
#define maxsize 20
typedef
struct
sqlist;
//交換l中陣列r的下標為i和j的值
void swap(sqlist * l,int i,int j)
//氣泡排序(優化版)
void bubblesort(sqlist * l)}}
}//輸出元素
void print(sqlist * l)
printf("\n");
}int main()
printf("排序前的陣列: ");
print(&l);
bubblesort(&l);
printf("排序後的陣列: ");
氣泡排序優化版
優化 因為排序過程中,各元素不斷接近自己的位置如果一趟比較下來沒有進行交換,就說明序列有序,因此要在排序過程中設定乙個標誌flag判斷元素是否進行過交換。從而減少不必要的比較。實現 int arr int t 0 中間變數 boolean flag false 標誌當前迴圈是不是一次也沒進行交換,沒...
氣泡排序 氣泡排序演算法優化
常用的排序演算法主要包括 1 插入排序 直接插入排序 希爾排序 2 交換排序 氣泡排序 快速排序 3 選擇排序 簡單選擇排序 堆排序快速排序 4 歸併排序其中,氣泡排序算是最簡單的一種排序演算法 public class bubble int temp 0 for int i 0 iarr j 1 ...
排序 氣泡排序 標準優化版
前面我們提到氣泡排序的標準版,下面我們來對氣泡排序進行優化。為什麼要進行優化呢?首先,我們要知道,氣泡排序用的是相連兩個之間的比較。而最外層的迴圈次數是陣列的長度 1,那麼,有沒有不用全部迴圈結束,就能排好序呢?這種情況是有的,比如,我們需要排序的序列是 也就是說,除了第一和第二元素之外,別的都是正...