蓝桥杯比赛准备(1)

蓝桥杯比赛准备(1)

一、排序
试题 基础练习 数列排序

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

我的答案:

#include <iostream>
#include<algorithm>
using namespace std;
#define N 200
int main(){
int n;
int a[N];
cin>>n;
for(int i=0;i<n;i++){
	cin>>a[i];
}
sort(a,a+n);
for(int j=0;j<n;j++){
	printf("%d ",a[j]);
}

 return 0;
	
}

所学知识点:一、记住头文件#include及sort排序函数的头文件#include以及我所认为的后缀using namespace std;
二、sort函数的使用

sort(a,a+n);

这个是针对于数组的排序,原公式为
sort(首元素地址,尾元素地址,比较元素(cmp));
扩展学习:
(1)对char 类型数组从大到小排序

//对char 类型的数组从大到小排序
bool cmp(char a,char b)
{
	return a>b;
}
char c[] ={'T','W','A','K'};
sort(c,c+4,cmp);

后面数组循环输出即可,同上,输出结果按字母表顺序为:WTKA
(2)对结构体数组排序
现定义以下结构体:

struct node{
  int x,y;
  }sad[10];

如果想要对其中x从大到小排序
则cmp函数的写法为

bool cmp(node a,node b)
{
  return a.x>b.x;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值