• 明明的随机数


    题目描述

    明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。

    Input Param 

         n               输入随机数的个数     

     inputArray      n个随机整数组成的数组 

         

    Return Value

         OutputArray    输出处理后的随机整数


    注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。


     


    输入描述:

    输入多行,先输入随机整数的个数,再输入相应个数的整数



    输出描述:

    返回多行,处理后的结果


    输入例子:
    11
    10
    20
    40
    32
    67
    40
    20
    89
    300
    400
    15
    

    输出例子:
    10
    15
    20
    32
    40
    67
    89
    300
    400

     1 #include<iostream>
     2 #include<vector>
     3 #include<algorithm>
     4 using namespace std;
     5 
     6 int main(void)
     7 {
     8     int n;
     9     while (cin >> n)
    10     {
    11         vector<int> inputArray(n);
    12         vector<int>::iterator it;
    13         for (int i = 0; i < n; i++)
    14         {
    15             cin >> inputArray[i];
    16         }
    17         sort(inputArray.begin(), inputArray.end());
    18         inputArray.erase(unique(inputArray.begin(), inputArray.end()), inputArray.end());
    19 
    20         for (it = inputArray.begin(); it != inputArray.end(); it++)
    21         {
    22             cout << *it << endl;
    23         }
    24     }
    25 
    26     return 0;
    27 }
     1 // 123.cpp : Defines the entry point for the console application.
     2 //
     3 
     4 #include "stdafx.h"
     5 #include <iostream>
     6 
     7 using namespace std;
     8 
     9 //写了个快排练练手
    10 int partition(int *p,int low,int high)
    11 {
    12     int mid=(low+high)/2;
    13     if(p[low]>p[high])
    14         swap(p[low],p[high]);
    15     if(p[mid]>p[high])
    16         swap(p[mid],p[high]);
    17     if(p[mid]>p[low])
    18         swap(p[mid],p[low]);
    19     int pivotkey = p[low];
    20     while(low<high)
    21     {
    22         while(low<high && p[high]>=pivotkey)
    23             high--;
    24         p[low]=p[high];
    25         while(low<high && p[low]<=pivotkey)
    26             low++;
    27         p[high] = p[low];
    28     }
    29     p[low]=pivotkey;
    30     return low;
    31 }
    32 
    33 void Qsort(int * p,int low,int high)
    34 {
    35     int pivot;
    36     if(low<high)
    37     {
    38         pivot=partition(p,low,high);
    39         Qsort(p,low,pivot-1);
    40         Qsort(p,pivot+1,high);
    41     }
    42 
    43 }
    44 
    45 int main()
    46 {
    47     int N;
    48     int *p;
    49     while(cin >> N)
    50     {
    51         p = new int[N];
    52         for(int i=0;i<N;i++)
    53         {
    54             cin>>p[i];
    55         }
    56         Qsort(p,0,N-1);
    57         for(int j=0;j<N;j++)
    58         {
    59             if(j>=1 && p[j]== p[j-1])
    60                 continue;
    61             cout<<p[j]<<endl;
    62         }
    63     }
    64 
    65     return 0;
    66 }
  • 相关阅读:
    各種語系的unicode對應以及local編碼方式
    测试邮箱采集
    devexpress控件例子
    2015结束,2016开始
    MYSQL 导出表结构
    mysql 远程访问
    jQuery的选择器中的通配符[id^='code']
    jquery判断checkbox是否选中及改变checkbox状态
    MYSQL 删除重复记录,只保留最大ID
    java.lang.IllegalArgumentException: Comparison method violates its general contract!
  • 原文地址:https://www.cnblogs.com/hhboboy/p/5522576.html
Copyright © 2020-2023  润新知