项目场景:
蓝桥杯练习系统基础练习
数列排序
问题描述:
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式
第一行为一个整数n。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式
输出一行,按从小到大的顺序输出排序后的数列。。
样例输入
5
8 3 6 4 9
样例输出
3 4 6 8 9
资源限制
时间限制:1.0s 内存限制:512.0MB。
代码
#include<iostream>
#include<cstdlib>
using namespace std;
int main(){
int n;
int t;
cin >> n; //接收数列元素个数
int num[n]; //动态分配数组空间
for(int i=0;i<n;i++){ //接收数列
cin >> num[i];
}
for(int i=0;i<n-1;i++){ //冒泡排序法
for(int j=0;j<n-i-1;j++){
if(num[j]>num[j+1]){
t = num[j];
num[j] = num[j+1];
num[j+1] = t;
}
}
}
for(int i=0;i<n;i++){
cout << num[i] <<" ";
}
return 0;
}
问题分析
需要一个数组接收数列,要么动态分配要么按n的最大值来分配。
排序方法有很多种选择,也可以使用STL类库。
最后遍历排序后数组。