C:冒泡排序
冒泡排序原理:

因为每一轮都可以找到一个最大的数,且将这个数放置队列的末尾,就像不停地冒泡泡一样,所以这种算法称为冒泡排序。
冒泡排序的优化:

冒泡排序由于使用了两层循环嵌套,所以时间复杂度是O(n^2)。
C实现冒泡排序:
#include<stdio.h> void bubblesort(int arr[],int len) { for (int i = 0; i < len - 1; i++)//确定循环轮数 { for (int j = 0; j < len - 1 - i; j++)//确定每轮需要比较的次数 { if (arr[j] > arr[j + 1])//前者比后者大,则交换 { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } void print_arr(int arr[],int len) { for (int i = 0; i < len; i++) { printf("%d ", arr[i]); } printf("\n"); } int main() { int arr[] = { 6,12,9,2,15,4 }; int len = sizeof(arr) / sizeof(int); printf("排序前结果为:\n"); print_arr(arr, len); printf("排序后结果为:\n"); bubblesort(arr, len); print_arr(arr, len); return 0; } 运行结果:
