資料結構 鍊錶相關 兩個有序鍊錶序列的交集

2021-09-12 13:56:39 字數 893 閱讀 4572

7-3 兩個有序鍊錶序列的交集 (20 分)

時間限制: 1000 ms                  記憶體限制: 64 mb             **長度限制: 16 kb

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

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

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

1 2 5 -1

2 4 5 8 10 -1

2 5
#include#includetypedef struct node* list;

struct node;

list creat()

void insert(list s,int t)

void find(list s1,list s2,list s3)

else if(p->data>q->data)

else

}return s3;

}int main()

else

}while(1)

else

}if((!s1)||(!s1->next)||(!s2)||(!s2->next))

find(s1,s2,s3);

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

for(s3=s3->next;s3->next!=null;s3=s3->next)

printf("%d",s3->data);

return 0;

}

資料結構 PTA 兩個有序鍊錶序列的交集 鍊錶

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

鍊錶 合併兩個有序鍊錶

標籤 鍊錶 題目描述 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。解題思路 兩種解法 遞迴和非遞迴 拓展 參考 public listnode merge listnode list1,listnode list2 else 非遞迴 public li...

資料結構 合併兩個有序鍊錶,合併後依然有序

解題思路 假設有兩個有序單鏈表list1 list2 首先建立新的空鍊錶,用於存放結果 如果兩個有序單鏈表均為空,結果鍊錶為空 如果有乙個有序單鏈表為空,則結果鍊錶為另乙個鍊錶 如果兩個有序單鏈表均不為空,則根據以下方法進行合併 合併結束的條件 兩個鍊錶有乙個為空 合併兩個有序鍊錶,合併後依然有序 ...