冒泡排序思想:每趟排序把最大/小值冒到底部。
时间复杂度:O(n2)
//bubble_sort.c
#include<stdio.h>
//输入数组和数组长度
//i范围从第一个元素到倒数第二个元素,j范围从第二个元素到最后一个元素。t临时变量。
void bubble_sort(int a[], int len) {
int i, j, t;
for (i = 0; i < len - 1; ++i) {
for (j = i + 1; j < len; ++j) {
if (a[i] > a[j]) {
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
}
int main() {
int arr[] = { 5,8,2,4,6,7,3,1,9 };
int len = 9;//数组长度
int i;
bubble_sort(arr, len);
for (i = 0; i < len; ++i) {
printf("%d ", arr[i]);
}
return 0;
}
本文代码运行环境为Visual Studio Community 2019 16.5.0版本。
代码内容主要来自郝斌老师的课程https://www.bilibili.com/video/av6159200
如有疑问或建议,欢迎留言讨论。