資料結構 求有序序列的交集(鍊錶)

2021-10-07 07:23:05 字數 1334 閱讀 1902

問題描述 :

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

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

求它們的交集並輸出。

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

輸入說明 :

第一行輸入序列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

注意對比有序和無序

//la用兩個指標pre, curr, 來方便刪除

// lb用q指標進行遍歷

// 每次遍歷條件(q->next!=null && q->num<=curr->num)則進行

// flag來標誌是否找到

#include

using

namespace std;

struct listnode

;listnode *

createbyarray

(int arr,

int n)

r->next=

null

;return head;

}void

displaylink

(listnode *head)

cout<<

"tail\n";}

void

fun(listnode *la, listnode *lb)

q=q-

>next;}if

(flag==0)

else}}

intmain()

cin>>n2;

int arr2[n2]

;for

(int i=

0;i)

listnode *a,

*b; a=

createbyarray

(arr1,n1)

; b=

createbyarray

(arr2,n2)

;fun

(a,b)

;displaylink

(a);

return0;

}

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

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

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

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

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

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