1.冒泡排序法
实现: 通过重复的遍历元素然后比较相邻的两个元素大小交换位置实现的
关键点:就是相邻的两个元素要是符合条件就
不断的交换
不断的交换
不断的交换
.
.
.
2.完整代码
#include <stdio.h>
// 打印数组
void print(int *buf, int size)
{
for (int i = 0; i < size; ++i)
printf("%d ", buf[i]);
printf("\n");
}
// 冒泡排序法
void sort(int *buf, int size)
{
for (int i = 0; i < size - 1; ++i) { // 外层循环
for (int j = 0; j < size - 1 - i; ++j) { // 内层循环
// 核心:交换相邻的值
if (buf[j] > buf[j + 1]) {
int tmp = buf[j];
buf[j] = buf[j + 1];
buf[j + 1] = tmp;
}
}
}
}
// 主函数
int main(int argc, char **argv)
{
int arr[] = { 4,1,3,4,2,0,5,0 }; // 测试数组
int size = sizeof(arr) / sizeof(int); // 数组大小
print(arr, size); // 打印排序前数组
sort(arr, size); // 排序
print(arr, size); // 打印排序后数组
return 0;
}
3.调试结果
4._End
完事儿