zoukankan      html  css  js  c++  java
  • 0080-简单的排序

    题目

    简单的排序
    难度级别:A; 运行时间限制:1000ms; 运行空间限制:256000KB; 代码长度限制:2000000B
    试题描述

    输入n个数,将n个数按从大到小的顺序输出(n<=10000).

    输入
    第一行输入一个数n,表示有n个数;
    第二行输入n个数。
    输出
    输出排序后的n个数,两两之间用一个空格隔开。(最后有空格)
    输入示例
    5
    7 9 13 5 16
    输出示例
    16 13 9 7 5

    分析

      不知道您是否看过我0075题的题解,如果看过了,您就会知道有系统排序,那就太简单了。

      同时,排序的方法也很多,系统排序、选择排序、冒泡排序、“快速”排序、桶排序、堆排序、栈排序……

      不过,这道题想让我们了解的是选择排序。大概方法就是两重循环判断当前下标的数和当前下标+1的数谁大,再根据题目要求判断是否交换。

    代码

    #include<bits/stdc++.h>
    using namespace std;
    int a[10005],n;
    int main()
    {
    	scanf("%d",&n);
    	for(int i=0;i<n;i++) scanf("%d",&a[i]);
    	for(int i=0;i<n;i++) for(int j=i+1;j<n;j++)/*确定要比较两个数的下标*/ if(a[i]<a[j])/*从大到小排序,所以让大的在前面。*/ swap(a[i],a[j]);//C+++特有交换函数。
    	for(int i=0;i<n;i++) printf("%d ",a[i]);
    	return 0;
    }
  • 相关阅读:
    快速排序学习
    转载 libSVM介绍(二)
    支持向量机: Maximum Margin Classifier
    联发科笔试题之字符编码
    研究1
    在OnLButtonDown获取其他控件被点击的消息
    希尔排序学习
    快速排序
    别人的string的实现,有时间好好学习下
    完成动态根据类别动态填充区域颜色
  • 原文地址:https://www.cnblogs.com/DARTH-VADER-EMPIRE/p/9879315.html
Copyright © 2011-2022 走看看