【3325】シーケンステーブル応用2:余分な要素を削除するテーブル構築アルゴリズム


シーケンステーブル適用2:余分な要素削除のテーブル構築アルゴリズム
Time Limit:3 ms Memory limit:600 K質問は?ここをクリック^^;
タイトルの説明
10000を超えない長さのシーケンステーブルで、同じ値の「余分」データ要素(タイプが整数)が存在する可能性があります.プログラムを作成して、「余分」データ要素をシーケンステーブルから削除します.テーブルを1つの「非純テーブル」(同じ値の要素がテーブルに複数ある可能性がある)から1つの「純テーブル」(同じ値の要素がテーブルに1つだけ残っている)に変更します.
要件:
1、線形テーブルの構造と操作関数を先に定義し、主関数でこの定義と操作関数呼び出しによって問題機能を実現しなければならない.
2、本題の目標は順序表の元の表空間の基礎の上で新しい表を建てるアルゴリズムを熟知することであり、元の順序表空間の基礎の上で削除を完成しなければならず、表を建てる過程は新しい表空間を開拓してはならない.
3、元の表要素のシフト削除方式を採用してはならない.
入力
第1行は整数nを入力し、以下にn行の入力があることを表す.
その後n行を入力し、各行に整数mを入力した後、m個のデータを入力し、対応するシーケンステーブルの各要素を表す.
しゅつりょく
n行を出力し、各シーケンステーブルに余分な要素を削除した結果
サンプル入力
4
5 6 9 6 8 9
3 5 5 5
5 9 8 7 6 5
10 1 2 3 4 5 5 4 2 1 3

サンプル出力
6 9 8
5
9 8 7 6 5
1 2 3 4 5
 
   
    ,             ,         ,        
 
   
 
   
#include
using namespace std;
typedef struct
{
    int *elem;
    int length;
    int size;
}List;
List creatDelete(List &list,int m)
{
   int i,x;
   list.elem=new int[m];
   list.length=0;
   int count=0;
   while(count>x;//      
       count++;
       if(list.length==0)
       {
           list.elem[0]=x;
           list.length++;
       }
       else
       {
           for(i=0;i>n;
    while(n--)
    {
        List list;
        cin>>m;
        creatDelete(list,m);
        for(i=0;i