5 16 兩個有序鍊錶序列的交集 20分

2021-07-10 18:43:26 字數 1007 閱讀 4838

已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2的交集新鍊錶s3。

輸入格式:

輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用-1−1表示序列的結尾(-1−1不屬於這個序列)。數字用空格間隔。

輸出格式:

在一行中輸出兩個輸入序列的交集序列,數字間用空格分開,結尾不能有多餘空格;若新鍊錶為空,輸出null。

輸入樣例:

1 2 5 -1

2 4 5 8 10 -1

輸出樣例:

2 5

#include

#include

typedef struct node*

list;

struct node;

list search(list l1,list l2,list l3);

list init();

void insert(list l,int t);

int main()

else

}while(1)

else

}// for(;l1!=null;l1=l1->next)

if((!l1)||(!l1->next)||(!l2)||(!l2->next))

l3=search(l1,l2,l3);

if((!l3)||(!l3->next))

for(l3=l3->next;l3->next!=

null;l3=l3->next)

printf("%d",l3->

data);

return0;}

list init()

void insert(list l,int t)

list search(list l1,list l2,list l3)

else

if(p->

data

>q->

data)

else

}return l3;

}

兩個有序鍊錶序列的交集

已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2的交集新鍊錶s3。輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用 1 表示序列的結尾 1 不屬於這個序列 數字用空格間隔。在一行中輸出兩個輸入序列的交集序列,數字間用空格分開,結尾不能有多餘空格 若新鍊錶為空,輸出null。1 ...

兩個有序鍊錶序列的交集

已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2的交集新鍊錶s3。輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用 1表示序列的結尾 1不屬於這個序列 數字用空格間隔。在一行中輸出兩個輸入序列的交集序列,數字間用空格分開,結尾不能有多餘空格 若新鍊錶為空,輸出null。1 2 ...

兩個有序鍊錶序列的交集

7 52 兩個有序鍊錶序列的交集 20 分 已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2的交集新鍊錶s3。輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用 1表示序列的結尾 1不屬於這個序列 數字用空格間隔。在一行中輸出兩個輸入序列的交集序列,數字間用空格分開,結尾不能有多...