数组排序
数组是C++语言重要的数据结构,对它的一些基本操作要熟练掌握。那么,今天我们就来讨论,怎么使用冒泡排序的方法,把数组元素从小到大重新排列?
案例
题目描述
对数组的元素按从小到大进行排序。
有两行 第一行有一个整数n( 5 <= n <= 10 ) 第二行有n个整数。
样例输入
8
1 2 3 6 8 7 4 5
输出
输出更新后的数组。
样例输出
1 2 3 4 5 6 7 8
程序代码
#include <iostream>
using namespace std;
int main(){
int a[20],i,j,n,t;
// 读入数组元素个数
cin >> n;
// 读入数组元素
for(i = 0 ; i < n ; i++){
cin >> a[i];
}
// 冒泡排序算法
// 循环:i 代表排序的轮数
// n 个数排序 n-1 轮
for(i = 1 ; i <= n - 1 ; i++){
// 第i轮排序,需要下标为 0 ~ n-i 的数参与排序
// 循环范围:0 ~ n-i-1, 如果前一个数大于后一个数,交换它们
// 此处的j代表数组元素的下标
for(j = 0 ; j <= n - i - 1 ; j++){
if(a[j] > a[j + 1]){
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
// 输出排序的结果
for(i = 0 ; i < n ; i++){
cout << a[i] << " ";
}
}