顺序表的并集

原题链接

#include <iostream>
using namespace std;

struct SeqList
{
    
    
    int data[1000];
    int length;
};

void init(SeqList &L)
{
    
    
    L.length = 0;
}

void add(SeqList &L, int x)
{
    
    
    L.data[L.length ++] = x;
}

bool ifExist(SeqList L, int x)
{
    
    
    for (int i = 0; i < L.length; i ++)
        if (L.data[i] == x) return true;
    return false;
}

void PrintList(SeqList L)
{
    
    
    for (int i = 0; i < L.length; i ++) cout << L.data[i] << ' ';
    puts("");
}

int main()
{
    
    
    SeqList L1, L2;
    init(L1), init(L2);

    int m, n;
    while (cin >> m)
    {
    
    
        for (int i = 0; i < m; i ++)
        {
    
    
            int x;
            cin >> x;
            add(L1, x);
        }
        cin >> n;
        for (int i = 0; i < n; i ++)
        {
    
    
            int x;
            cin >> x;
            add(L2, x);
        }
        PrintList(L1); PrintList(L2);

        for (int i = 0; i < n; i ++)
        {
    
    
            int x = L2.data[i];
            if (!ifExist(L1, x)) add(L1, x);
            PrintList(L1);
        }
        puts("");
        
        init(L1), init(L2);
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/Shao_yihao/article/details/121476638