pta 兩個有序鍊錶序列的交集

2021-08-09 21:00:40 字數 1048 閱讀 6140

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

輸入格式:

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

輸出格式:

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

輸入樣例:

1 2 5 -

2 4 5 8 10 -1

輸出樣例:

2 5
思路:

先分別讀數再分別排序(公升序),然後用比較的方法掃一遍就行了。

話說這道題好像是鍊錶題。。。。。算了主要是用陣列太好跑了下意識就。。。。

**:

#include 

#include

int board1[10000000],flag1;//其實沒必要,開大一點以防萬一。

int board2[10000000],flag2;

int cmp(const

void *a,const

void *b)

int main()

while(1)

if(flag1==0 || flag2==0)

//讀數並判斷讀入不為空。

qsort(board1,flag1,sizeof(int),cmp);

qsort(board2,flag2,sizeof(int),cmp);//排序

int key = 0,t = 0;

for(int i=0 ; iif(t>=flag2)break;

if(board1[i] == board2[t])

else

if(board1[i]>board2[t])}}

}if(key == 0)printf("null");

return

0;}

pta 兩個有序鍊錶序列的交集

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

浙大PTA兩個有序鍊錶序列的交集

思路 乙個指標指向第乙個鍊錶,乙個指標指向第二個鍊錶,若倆個指標指向的節點的值相等,則用l指向這個節點,並且倆個指標都後移 否則指向節點值小的指標後移 include using namespace std typedef struct lnode list struct lnode list re...

兩個有序鍊錶序列的交集

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