冒泡排序——是将所有要排序的数据由上到下排序,然后从第一个数据开始依次和相邻的数据进行比较,较小的数据往上浮(犹如气泡一样),从而达到排序的目的。
代码实现:
#include<stdio.h>
int main() {
int arr[100];
int n, a, i, j, temp;
printf("输入要排序的数据元素个数\n ");
scanf("%d", &n);//输入需要排序元素个数
for (i = 0; i < n; i++) {
printf("输入要排序的数据\n");
scanf("%d",&arr[i]);//将数据存储在数组中
}
a = n;//每次进行一轮比较总元素个数都要-1,用a表示新一轮比较的元素总个数
for (i = 0; i < n; i++) {
int exchange = 0;//用来判断有没有进行交换
for (j = 0; j < a - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
exchange = 1;
}
}
a--;
if (!exchange)
break;
}
for (i = 0; i < n; i++) {
printf("%d\n", arr[i]);
}
return 0;
}
运行结果: