这次给大家带来C++冒泡排序
1.什么是冒泡排序
在程序设计语言中,排序算法主要有冒泡排序、快速排序、选择排序以及计数排序等。
冒泡排序(Bubble Sort)是最简单和最通用的排序方法,其基本思想是:在待排序的一组数中,将相邻的两个数进行比较,若前面的数比后面的数大就交换两数,否则不交换;如此下去,直至最终完成排序。由此可得,在排序过程中,大的数据往下沉,小的数据往上浮,就像气泡一样,于是将这种排序算法形象地称为冒泡排序。
以上是冒泡排序der简介( ) ( ) ( )
2.冒泡排序代码
了解了冒泡排序算法,接下来就可以编写代码了:
#include <bits/stdc++.h>
using namespace std;
int a[1005];//冒泡排序数据储存数组
int main() {
long int n;
cin >> n;//询问数据个数
for (int i = 0; i < n; i++) {
cin >> a[i];
}//输入数据
for (int i = 0; i < (n - 1); i++) {
for (int j = 0; j < (n - 1); j++) {
if (a[j] > a[j + 1]) {
swap(a[j], a[j + 1]);
}
}
}//冒泡排序初级代码(升序用‘>’,降序用‘<’)
for (int i = 0; i < n; i++) {
cout << a[i] << ' ';
}//输出结果
return 0;
}
以上是冒泡排序初级代码,根据算法,我们还可以优化一下:
#include <bits/stdc++.h>
using namespace std;
int a[1005];
int main() {
long int n;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = 0; i < (n - 1); i++) {
int f = 0;
for (int j = 0; j < (n - 1 - i); j++) {
if (a[j] > a[j + 1]) {
swap(a[j], a[j + 1]);
f++;
}
}
if (f == 0) {
break;
}
}//冒泡排序优化代码
for (int i = 0; i < n; i++) {
cout << a[i] << ' ';
}
return 0;
}
优化的代码可以尽量减少轮空次数,帮助大家AC一些算最少次的程序题~
3.本篇完结
这次的内容到此结束了,制作不易,如果对你有帮助可以点赞支持一下,谢谢啦!