zoukankan      html  css  js  c++  java
  • 计算机考研复试真题 特殊序列

    题目描述

    输入一系列整数,将其中最大的数挑出(如果有多个,则挑出一个即可),并将剩下的数进行排序,如果无剩余的数,则输出-1。

    输入描述:

    输入第一行包括1个整数N,1<=N<=1000,代表输入数据的个数。
    接下来的一行有N个整数。

    输出描述:

    可能有多组测试数据,对于每组数据,
    第一行输出一个整数,代表N个整数中的最大值,并将此值从数组中去除,将剩下的数进行排序。
    第二行将排序的结果输出。
    示例1

    输入

    4
    1 3 4 2
    

    输出

    4
    1 2 3

    --------------------------------------------------------------------------------------------------------------------------

    /*
    解题思路:将数据存入数组中,然后利用排序算法升序排列,这里用快速排序算法,先输出数组中最后一个元素,然后在顺序输出数组元素。
            如果n=1代表输出最大值后无元素,则输出-1.
    */
    #include<iostream>
    using namespace std;
    
    void quickSort(int arr[],int low,int high){  //快速排序算法
        int temp;
        int i=low,j=high;
        if(low<high){
            temp=arr[low];  //第一个元素作为枢纽,进行划分
            while(i<j){
                while(j>i&&arr[j]>=temp)
                    --j;
                if(i<j){  //
                    arr[i]=arr[j];
                    ++i;
                }
                while(i<j&&arr[i]<temp)
                    ++i;
                if(i<j){  //
                    arr[j]=arr[i];
                    --j;
                }
            }
            arr[i]=temp;  //
            quickSort(arr,low,i-1);
            quickSort(arr,i+1,high);
        }
    }
    
    int main(){
        int n;  //输入数据个数
        while(cin>>n){
            int i,a[1000];
            for(i=0;i<n;++i)
                cin>>a[i];
            quickSort(a,0,n-1);
            cout<<a[n-1]<<endl;
            if(n==1) cout<<-1<<endl;
            else{
                for(i=0;i<n-2;i++){
                    cout<<a[i]<<" ";            
                }
                cout<<a[n-2]<<endl; //不输出最后那个空格
            }
        }
        return 0;
    }
     
  • 相关阅读:
    阿里云Centos7安装和启动nginx
    mysql安装配置、主从复制配置详解
    php 文件大小计算转换
    tp5.0 生成二维码 + 合并海报图
    iTerm2 + Oh My Zsh
    linux 安装 卸载 命令
    php两个时间日期相隔的天数,时,分,秒.
    PhpStorm下载 + 破解
    php 地区三级联动
    PhpSpreadsheet 引入类库 导出 excel
  • 原文地址:https://www.cnblogs.com/parzulpan/p/9922986.html
Copyright © 2011-2022 走看看