1. 程式人生 > >第一次用STL中的set

第一次用STL中的set

根據 class 兩個 print 整數 而且 -- 關聯 輸入

給你兩個集合,要求{A} + {B}.
註:同一個集合中不會有兩個相同的元素.

Input每組輸入數據分為三行,第一行有兩個數字n,m(0<n,m<=10000),分別表示集合A和集合B的元素個數.後兩行分別表示集合A和集合B.每個元素為不超出int範圍的整數,每個元素之間有一個空格隔開.Output針對每組數據輸出一行數據,表示合並後的集合,要求從小到大輸出,每個元素之間有一個空格隔開.Sample Input

1 2
1
2 3
1 2
1
1 2

Sample Output

1 2 3
1 2



代碼:
#include<stdio.h>
#include<set>
using namespace std;

int main() {
	int i,n,m,j;
	while(~scanf("%d %d",&n,&m)) {
		set<int>s;
			for(i=1;i<=n;i++) {
				scanf("%d",&j);
			s.insert(j);
			}
			for(i=1;i<=m;i++) {
				scanf("%d",&j);
			s.insert(j);
			}
			set<int>::iterator it;
			set<int>::iterator it1;
			it1=s.end();
			it1--;
			for(it=s.begin();it!=it1;it++) {
				printf("%d ",*it);
			}
			printf("%d\n",*it);
	}
	return 0;
}

  剛接觸STL,也是第一次使用set,代碼是在網上借的別人的,set關聯式容器,set作為一個容器也是用來存儲同一數據類型的數據類型,並且能從一個數據集合中取出數據,在set中每個元素的值都唯一,而且系統能根據元素的值自動進行排序。

第一次用STL中的set