#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...