欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

C/C++语言重温------冒泡排序

时间:2023-06-03
C/C++语言重温------冒泡排序

一、数组的冒泡排序


  一、数组的冒泡排序

#include #include #define MAX_LENGTH 20000int main(int argc, char const *argv[]){ // int a[9] = {3,6,7,4,5,2,1,9,8}; // 1 2 3 4 5 6 7 8 9// 原理: // 比较前后两个数 如果后一个比前一个小 交换 反之无需处理 // 下标后移,继续处理下两个数 // 3 6 7 4 5 2 1 9 8 // 3 6 4 5 2 1 7 8 9 int a[MAX_LENGTH]; for (int i = 0; i < MAX_LENGTH; i++) { a[i] = i; } // 如果一次排序从来没有交换过(即 flag == 0 时),代表其本身已经是有序队列了(即排序完成) for (int j = 0; j < MAX_LENGTH; j++) { int flag = 0; for (int i = 0; i < MAX_LENGTH - j; i++) { if (a[i] > a[i+1]) { flag = 1; int temp = a[i]; a[i] = a[i+1]; a[i+1] = temp; } } if (flag == 0) { break; } } // 输出结果 for (int i = 0; i < MAX_LENGTH; i++) { printf("%d ", a[i]); } printf("n"); return 0;}

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。