关闭

蓝桥杯 基础练习 数列排序

128人阅读 评论(0) 收藏 举报
分类:

问题描述
  给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式
  第一行为一个整数n。
  第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式
  输出一行,按从小到大的顺序输出排序后的数列。
样例输入
5
8 3 6 4 9
样例输出
3 4 6 8 9

刚好刚接触c++没多久
熟悉熟悉qsort

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int compare(const void *a,const void *b)//qsort必须有的函数,用来判断是升序还是降序,a在前,b在后,必须是void,后来转换类型即可
{
    return *(int*)a-*(int*)b;//判断是升序还是降序
}
int main()
{
    vector<int>st(201);
    int N;
    cin>>N;
    for(int i=0;i<N;i++)
        cin>>st[i];
    qsort(&st[0],N,sizeof(st[0]),compare);//首地址,几个,每个元素大小,升序还是降序(自己编)
    for(int j=0;j<N;j++)
        j==N-1?cout<<st[j]:cout<<st[j]<<" ";
    return 0;
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5950次
    • 积分:421
    • 等级:
    • 排名:千里之外
    • 原创:36篇
    • 转载:8篇
    • 译文:0篇
    • 评论:0条
    文章分类