寫一個程序完成以下命令:
new id ——新建一個指定編號為id的序列(id<10000)
add id num ——向編號為id的序列加入整數num
merge id1 id2 ——合並序列id1和id2中的數,並將id2清空
unique id ——去掉序列id中重復的元素
out id ——從小到大輸出編號為id的序列中的元素,以空格隔開
輸入
第一行一個數n,表示有多少個命令( n<=200000)。以後n行每行一個命令。
輸出
按題目要求輸出。
樣例輸入
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
樣例輸出
1 2 3
1 2 3 4
1 1 2 2 3 3 4
1 2 3 4
怎麼編才能輸入out命令的時候不輸出而是在命令全輸完後再輸出
這是自己編的一部分,一輸入out就輸出一點了
case 'o':
cin >> id1;
ml[id1].sort();
for (i = ml[id1].begin(); i != ml[id1].end(); i++)
{
cout << *i << " ";
}
cout << endl;
break;
}
設一個緩沖,out時先輸出到緩沖中,最終全部輸出緩沖中的內容