#include<stdio.h>
//冒泡—数组升序排序
void bubble_sort(int arr[], int sz) {
int i = 0;
for (i = 0; i < sz - 1; i++) {//确认排序趟数
int j = 0;
int flag = 1;//假设经过循环,flag值为1,则直接终止循环
for (j = 0; j < sz - 1 - i; j++) { //要求更新循环剩下的数组
if (arr[j] > arr[j + 1]) { //比较相邻两数
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
flag = 0;
}
if (flag == 1) { //如果循环结束后,flag仍为1,说明以上循环未执行,原本数组已经是按升序排序,则直接跳出循环
break;
}
}
}
}
int main() {
int arr[ ] = {9,8,7,6,5,4,3,2,1,0};
int i = 0;
int sz = sizeof(arr) / sizeof(arr[0]);
bubble_sort(arr,sz);
for (i = 0; i < sz; i++) {
printf("%d",arr[i]);
}
return 0;
}
C语言—冒泡排序算法 有序数组升序排序
最新推荐文章于 2024-08-03 21:15:16 发布