题目:
算法训练 数组排序去重
时间限制:1.0s 内存限制:512.0MB
问题描述
输入10个整数组成的序列,要求对其进行升序排序,并去掉重复元素。
输入格式
10个整数。
输出格式
多行输出,每行一个元素。
样例输入
2 2 3 3 1 1 5 5 5 5
样例输出
1
2
3
5
2
3
5
这道题肯定有多种做法,由于这道题我学到了一个新知识,就是如何让数组下标为负数,
那就是利用指针,代码如下;
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
//int main(int argc, char *argv[])
int main()
{
int i, *p;
int a[10000],s;
memset(a,0,sizeof(a));
p=a+1000;
int temp=0;
for(i=0;i<10;i++)
{
cin>>s;
p[s]=s;
if(s==0)
temp=1;
}
sort(p,p+1000);
if(temp)
cout<<0<<endl;
for(i=-990;i<1000;i++)
{
if(p[i])
cout<<p[i]<<endl;
}
return 0;
}
算法训练 数组排序去重
时间限制:1.0s 内存限制:512.0MB
问题描述
输入10个整数组成的序列,要求对其进行升序排序,并去掉重复元素。
输入格式
10个整数。
输出格式
多行输出,每行一个元素。
样例输入
2 2 3 3 1 1 5 5 5 5
样例输出
1
2
3
5
2
3
5