已知兩個非降序鍊錶序列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不屬於這個序列 數字用空格間隔。在一行中輸出兩個輸入序列的交集序列,數字間用空格分開,結尾不能有多...