目录
  1. 1. 景点游览
    1. 1.1. 问题描述
    2. 1.2. 问题分析
    3. 1.3. 代码实现
    4. 1.4. 运行结果
    5. 1.5. 总结
景点游览

景点游览

问题描述

问题描述

  小明来到一个景区游玩,但是他的时间有限,没办法逛遍所有的景点,所以他从网上下载了每个景点的评分,他希望能够使游览的景点的评分总和最高,于是他希望你帮他对于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
请按任意键继续. . .

总结

对于排序有很多种方式:

  • 插入排序
    • 直接插入排序
    • 希尔排序
  • 选择排序
    • 简单选择排序
    • 堆排序
  • 交换排序
文章作者: Jachie Xie
文章链接: https://xjc5772.github.io/2020-01/20/%E7%AE%97%E6%B3%95/%E8%93%9D%E6%A1%A5%E6%9D%AF%E5%88%9D%E7%BA%A7%E8%AE%AD%E7%BB%83/%E6%99%AF%E7%82%B9%E6%B8%B8%E8%A7%88/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XJC&Blog
打赏
  • 微信
  • 支付宝

评论