North programming and algorithms (c) quiz summary (Spring 2020)
description
Write a complete program following command:
new new id - Create a designated sequence number id (id <10000)
the Add num-- id id number to integer sequences added NUM
Merge id1 id1 and id2 id2-- combined in sequence number, and id2 emptied
unique id-- remove repeated elements in sequence id
out id - output from small to large number of elements of a sequence id, separated by a space
Enter
the first line of a number n, it represents the number of order (n <= 200000). After n lines each command.
Output
by topic required output.
样例输入
16
new 1
new 2
add 1 1
add 1 2
add 1 3
add 2 1
add 2 2
add 2 3
add 2 4
out 1
out 2
merge 1 2
out 1
out 2
unique 1
out 1
Sample output
. 1 2. 3
. 1 2. 4. 3
. 1. 1. 4. 3. 3 2 2
1 2 3 4
analysis
This is list
simple to use templates
#include<iostream>
#include<list>
using namespace std;
typedef list<int> List;
int main()
{
List lists[20000];
List::iterator it;
int num,count1,count2;
cin >> num;
char str[100];
while(num--){
cin >> str;
switch(str[0]){
case 'a':
cin >> count1 >> num;
lists[count1].push_back(num);
break;
case 'n':
cin >> count1;
break;
case 'm':
cin >> count1 >> count2;
lists[count1].merge (lists[count2]);
break;
case 'u':
cin >>count1;
lists[count1].sort();
lists[count1].unique ();
break;
case 'o':
cin >> count1;
lists[count1].sort();
for( it = lists[count1].begin(); it != lists[count1].end(); it ++)
cout<<*it<<" ";
cout << endl;
break;
}
}
return 0;
}