一、原理
它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端
时间复杂度:
二、动图、
三、程序
#include#include #define L 10 void printArray(int*); void bubbleSort(int*); int main() { int number[L] = { 10,2,3,9,7,6,4,5,8,1 }; puts("数组内容如下所示:"); printArray(number); puts("n冒泡排序输出:"); bubbleSort(number); printArray(number); return 0; } void printArray(int arr[]) { int i; for (i = 0; i < L; i++) { printf("%dt", arr[i]); } } void bubbleSort(int arr[]) { int i, j; int temp; for (i = 0; i < L - 1; i++) { for (j = 0; j < L - 1; j++) { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } }
四、结果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)