氣泡排序 雞尾酒排序

2021-08-04 22:04:55 字數 886 閱讀 1134

#include

// 交換函式

void swap (int a, int i, int j)

// 列印陣列

void printa (int *a, int len)

printf ("\n");

}// 氣泡排序

int main1()

;int len = sizeof(a) / sizeof(a[0]);

int i,j;

// 外層迴圈控制輪數,每一輪找出乙個最大的樹沉底

for (i = 0; i < len -1; i++)}}

printa (a, len);

return 0;

}// 雞尾酒排序

int main()

;int len = sizeof(a) / sizeof(a[0]);

int i;

int left  = 0;

int right = len - 1;

while (left < right)

}right--;     

// 從右往左找到乙個最小的數放到left的位置

for (i = right; i > left; i--)

}left++;

}printa (a, len);

return 0;

氣泡排序2

#include

#define n 10

int main()

;int i,j;

int tmp;

// 外層控制比較的輪數 

for (i = 0; i < n-1; i++)}}

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

return 0;

}

氣泡排序案例,雞尾酒排序

概念 依次比較相鄰的兩個數,將小數放在前面,大數放在後面 第一趟可得到 將最大數放到最後一位,第二趟可得到 將第二大的數放到倒數第二位,如此下去,重複以上過程,直至最終完成排序。由於排序過程中,總是將小數往前放,大數往後放,相當於氣泡往上公升,所以稱作氣泡排序。思路 用二重迴圈實現,外迴圈變數設為i...

雞尾酒排序

氣泡排序是從陣列的一側到另一側為一輪,根據條件兩兩交換,例如關於氣泡排序中的一組資料3 2 5 4 6 1 8 9 7,優化的氣泡排序在經過六輪之後得到排好的陣列,而雞尾酒排序是一輪次比較兩回 先從左到右比較,如果左邊比右面大,交換位置 然後從右到左比較,左邊比右邊大,交換位置。就用冒泡中的那組數從...

雞尾酒排序

雞尾酒排序是一種定向的氣泡排序,也可以稱為攪拌排序 漣漪排序。是氣泡排序的一種變形。和氣泡排序的區別在於,雞尾酒排序採用了雙向比較並替換的原理。基本原理 第一步 宣告兩個臨時指標left和right,分別指向第乙個元素和最後乙個元素。第二步 每一輪比較時,從right往left方向查詢最大數,放到r...