景点游览
问题描述
问题描述
小明来到一个景区游玩,但是他的时间有限,没办法逛遍所有的景点,所以他从网上下载了每个景点的评分,他希望能够使游览的景点的评分总和最高,于是他希望你帮他对于N个景点排下序。
输入格式
输入的第一行包含一个正整数N,表示N个景点。
第二行有N个正整数,表示每个景点的评分值。
输出格式
输出一行,包含N个正整数,表示N个景点的评分从大到小的排列
样例输入
4
3 2 4 1
样例输出
4 3 2 1
数据规模和约定
N<=1000,每个景点的评分<=10000。
问题分析
对数字使用数组进行存储,考虑到数组长度的定义。典型的排序问题,采取排序方式不同,程序的复杂度也将不一样
代码实现
#include <iostream> #include <bits/stdc++.h> using namespace std;
void MP(int a[],int N){ int temp; for(int i=0;i<N-1;i++){ for(int j=0;j<N-1-i;j++){ if(a[j]<a[j+1]){ temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } } int main(){ int N; cin>>N; int a[N]; for(int i=0;i<N;i++) cin>>a[i]; MP(a,N); for(int j=0;j<N;j++) cout<<a[j]<<" "; return 0; }
|
运行结果
4 3 2 4 1 4 3 2 1 -------------------------------- Process exited after 15.77 seconds with return value 0 请按任意键继续. . .
|
总结
对于排序有很多种方式: