已知兩個非降序鍊錶序列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 ...