题目描述
对输入的n(1<=n<=100)个数进行排序并输出
时间限制 1s;内存限制 32MB
样例输入
4
1 4 3 2
样例输出
1 2 3 4
(每个数后面都有一个空格)
题目分析----使用冒泡
对于1s的运行时限,设计的算法复杂度不能超过百万级别,即不能超过一千万。–>如果算法时间复杂度为O(n2),则n应不大于3000。因此,要对写的程序在最坏情况下的复杂度进行估算,假如确定其在百万数量级之内,那程序一般不会超过规定时限。
本题中,n最大为100,冒泡排序复杂度为O(n2),n2仅在万级;且冒泡空间复杂度为O(n),大致需要100*32bit的内存,也不会超过32MB。故可以使用冒泡排序实现。
C++实现(冒泡)
#include <iostream>
using namespace std;
int main(){
int n;
int buf[100];
while(cin >> n){
for(int i = 0; i < n; i++){
cin >> buf[i];
}//输入待排数字