Ŀ¼
冒泡排序是什么:
- 冒泡排序分降序和升序两种排序方式。
- 它们的唯一区别就是两个数交换的条件不同,降序排序是前面的数比后面的小的时候交换;
- 而升序排序是前面的数比后面的数大的时候交换。
- 如果该次循环没有发生一次数的交换,就说明数组已经排好序了,则停止循环。
举例说明:降序
- 相邻数字比较大小进行交换,数值小的后移
- 列表表述:
待排数组 | 2 | 4 | 1 | 8 | 5 | 3 | 9 |
第一次排序 | 4 | 2 | 8 | 5 | 3 | 9 | 1 |
第二次排序 | 4 | 8 | 5 | 3 | 9 | 2 | 1 |
第三次排序 | 8 | 5 | 4 | 9 | 3 | 2 | 1 |
第四次排序 | 8 | 5 | 9 | 4 | 3 | 2 | 1 |
第五次排序 | 8 | 9 | 5 | 4 | 3 | 2 | 1 |
第六次排序 | 9 | 8 | 5 | 4 | 3 | 2 | 1 |
代码示例:
#include<stdlib.h> #include<iostream> using namespace std; int main(){ const int n = 11; int i, j, t; int a[n]; cout << "请输入10个整数:" << endl; for (i = 1; i < n; i++){ cin >> a[i]; } for (j = 1; j < n - 1; j++){ for (i = 1; i < n - j; i++){ if (a[i] > a[i + 1]){ t = a[i]; a[i] = a[i + 1]; a[i + 1] = t; } } } cout << "排序后为:" << endl; for (i = 1; i < n; i++){ cout << " " << a[i]; } cout << endl; system("pause"); return 0; }
运行结果:
转载请标明出处:【C++--02】冒泡排序~~~
文章来源: https://blog.csdn.net/weixin_44749767/article/details/89318287