基礎演算法2 交換排序(氣泡排序 快速排序)

2021-10-02 02:54:16 字數 766 閱讀 2345

基本思想:交換排序顧名思義就是將兩個數進行比較來交換兩個數在記錄中的位置,例如6 4 2 5 例如6和2進行比較,(由小到大排序)6和2交換位置

主要演算法

1》.氣泡排序

氣泡排序:待排序數從後往前 或者從前往後 兩兩比較,若為逆序則交換,知道所有的數都比較完,則為一趟排序,每一趟排序後就有乙個數被確定在最終位置。舉個例子:

所以 ,在氣泡排序中最主要要學到的就是 怎麼進行兩兩交換數的思想

//核心演算法

//a是待排序陣列 n是表長

public void bubblesort(int a,int n )

//一趟排序結束 將基準元素放在最終位置

a[low]=pivot;

//將基準元素返回

return low;

}//快速排序

void quicksort(int a,int low,int high)

}//測試

public static void main(string args) ;

int n =a.length-1;

insertsort4 insertsort = new insertsort4();

insertsort.quicksort(a, 0, n);

for(int i=0;i<=n;i++)

}}

排序演算法 交換排序(氣泡排序 快速排序)

交換排序 利用交換資料元素位置的方法進行排序的方法 基本思想 將序列中第乙個記錄與第二個記錄比較,若前乙個大於後乙個,則交換位置。然後比較第二個和第三個,第三個和第四個,以此類推,一輪之後,序列中最大的元素就到了序列最後的位置上。繼續進行第2輪,第3輪,第n 1輪。若其中某一輪途中沒有元素交換,則證...

交換排序(冒泡,快速排序)

1 氣泡排序 n次掃瞄,從後往前掃,當後乙個比前乙個小時,即交換,也就是小的往上冒。第一次就找到了最小的冒到了第乙個,然後在除了第乙個的剩下的所有數裡面找第二小 剩下的裡面是最大的 這樣,經過n次查詢就能是序列有序 void bubblesort int a,int sz for int i 0 i...

交換排序 氣泡排序,快速排序

交換排序 氣泡排序,快速排序 執行環境 vs2010 include include include include define ok 1 define true 1 define false 0 define maxsize 50 typedef struct redtype typedef s...