//
// Created by Keeper on 2021/7/28.
//
#include<stdio.h>
void main() {
//冒泡排序,从小到大(从左到右将相邻的两个数进行比较,如果前者大于后者,则将两个交换位置,每比较一次能确定一个当前最大值)
//原始数组
int arr[] = {3, 9, -1, 10, -2};
//存储原始数据的变量
int temp = 0;
//得到数组的长度
int len = sizeof(arr) / sizeof(arr[0]);
printf("%d\n", len);
//输出原始数据
for (int i = 0; i < len; ++i) {
printf("%d\t", arr[i]);
}
//进行冒泡排序
//控制循环次数,每次循环得出当前的最大值,循环次数为 长度 - 1
for (int i = 0; i < len - 1; ++i) {
//求出当前轮数的最大值,将其排到最后
for (int j = 0; j < len - i - 1; ++j) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
//换行
printf("\n");
//输出排序后的数据
for (int i = 0; i < len; ++i) {
printf("%d\t", arr[i]);
}
}
冒泡排序(C语言)
最新推荐文章于 2022-12-19 15:22:36 发布