1988-B. 有序集合
生活随笔
收集整理的這篇文章主要介紹了
1988-B. 有序集合
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
描述
在C++里,有一個神奇的東西,叫做STL,這里提供了很多簡單好用的容器,用來實現常用又很難書寫的數據結構,如棧(stack)等。其中,有一個容器叫set,譯作“有序集合”。首先,這是一個集合,所以不存在相同的元素,其次,集合中的元素按從小到大排列。 現在,需要你把一列不符合“有序集合”要求的整數規范化,通過以下兩個步驟: 1、去重:去掉重復的元素 2、排序:按從小到大順序將元素排序 請問,最終得到的有序集合是怎樣的呢?
輸入
第一行包含一個正整數T (1≤T≤100),表示有T組測試用例。 每組用例有兩行,第一行包含一個正整數N(1≤N≤100),第二行有N個正整數,以空格分隔,表示未規范成“有序集合”的數列。每個正整數不超過1000.
輸出
每組用例輸出一行,表示規范后的“有序集合”,數字以空格分隔。
樣例輸入
2
4
1 25 640 1000
10
20 40 32 67 40 20 89 329 400 15
樣例輸出
1 25 640 1000
15 20 32 40 67 89 329 400
#include<iostream> #include<algorithm> using namespace std; int main() {//freopen("a.txt","r",stdin);int t;cin>>t;while(t--){int n,*a,i,j;cin>>n;a=(int *)malloc(n*sizeof(int));memset(a,0,sizeof(a));for(i=0;i<n;i++)cin>>a[i];for(i=0;i<n;i++)for(j=i;j<n;j++)if(a[i]>a[j])swap(a[i],a[j]);for(i=0;i<n;i++){while(a[i]==a[i+1]){for(j=i;j<n;j++)a[j]=a[j+1];n--;}}for(i=0;i<n-1;i++)cout<<a[i]<<" ";cout<<a[n-1]<<endl;}return 0; }
轉載于:https://www.cnblogs.com/Rosanna/p/3438671.html
總結
以上是生活随笔為你收集整理的1988-B. 有序集合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【原】Python基础-函数
- 下一篇: Cypher查询语言--Neo4j-WH