鍊錶 12 求有序序列的交集(鍊錶)

2021-10-20 01:15:33 字數 1278 閱讀 7579

使用帶頭結點的單鏈表程式設計:

有兩個有序序列,分別表示兩個集合。

求它們的交集並輸出。

注意:這裡要利用到「有序」的特性。

第一行輸入序列a的資訊:

第乙個整數n(0<=n<=100),表示共有n個元素,其後有n個整數,表示n個元素的資料

第一行輸入序列b的資訊:

第乙個整數n(0<=n<=100),表示共有n個元素,其後有n個整數,表示n個元素的資料

注:兩個序列輸入時保證有序

輸出交集的元素序列,輸出格式見範例。

如果交集為空,則輸出「head-->tail」

4 1 3 5 7

4 1 4 5 8

head-->1-->5-->tail

無非就是每次p2的指標不從head2開始,而是保持當前位置。

#include #include #include #include #include #include #include using namespace std;

struct listnode

;int lenght(listnode* head)

return l;

}void output(listnode* head)

cout << "tail";

cout << endl;

return;

}int main()

head2 = null;

cin >> n;

for (i = 0; i < n; i++)

if (lenght(head1) == 0 || lenght(head2) == 0)

head3 = null;

p1 = head1;

p4 = null;

p2 = head2;

while (1)

if (p2->next == null || p2->num>p1->num)

break;

else

p2 = p2->next;

} if (p1->next == null)

break;

else

p1 = p1->next;

} if(head3!=null)

output(head3);

else

cout << "head-->tail" << endl;

return 0;

}

求有序序列的交集(鍊錶)

問題描述 使用帶頭結點的單鏈表程式設計 有兩個有序序列,分別表示兩個集合。求它們的交集並輸出。注意 這裡要利用到 有序 的特性。輸入說明 第一行輸入序列a的資訊 第乙個整數n 0 n 100 表示共有n個元素,其後有n個整數,表示n個元素的資料 第一行輸入序列b的資訊 第乙個整數n 0 n 100 ...

求序列的交集(鍊錶)

問題描述 使用帶頭結點的單鏈表程式設計 有兩個序列,分別表示兩個集合。求它們的交集並輸出。輸入說明 第一行輸入序列a的資訊 第乙個整數n 0 n 100 表示共有n個元素,其後有n個整數,表示n個元素的資料 第一行輸入序列b的資訊 第乙個整數n 0 n 100 表示共有n個元素,其後有n個整數,表示...

7 求有序序列的交集(鍊錶) c

問題描述 使用帶頭結點的單鏈表程式設計 有兩個有序序列,分別表示兩個集合。求它們的交集並輸出。注意 這裡要利用到 有序 的特性。輸入說明 第一行輸入序列a的資訊 第乙個整數n 0 n 100 表示共有n個元素,其後有n個整數,表示n個元素的資料 第一行輸入序列b的資訊 第乙個整數n 0 n 100 ...