去鍊錶交集

2021-08-17 10:00:42 字數 1004 閱讀 5838

#include

#include

#define la 4

#define lb 5

/* 去交集*/

struct studenta[la],b[lb];

int main(int argc, char *argv) ,,,};

struct student b[lb]=,,,,};

struct student *head1,*head2,*p1,*p2,*p;

head1=a;

head2=b;

int i;

//p2=head2->next;

printf("list a:\n");

for(p1=head1,i=1;i

printf("%d,%s\n\n",p1->num,p1->name);

p1->next=null;

head1->next=p1; //head1的下乙個進行賦值成為p1,即是連線成了一整個鍊錶 

printf("list b:\n"); //list b input 

for(p2=head2,i=1;i 

printf("%d,%s\n",p2->num,p2->name);

p2->next=null;

head2->next=p2; //建立鍊錶進行連線 

p1=head1; //將p1指向head1 

p2=head2; //將p2指向head2 

while(p1) //當p1不為空時 

if(p1->num==p2->num) //當p1等於p2的數的時候,即滿足第乙個條件 

else

}    else//p2遍歷完畢 

兩個鍊錶交集

題目給定兩個鍊錶,兩個鍊錶有一部分是一樣,求給出兩個鍊錶交集開始的地方。方法1步驟1 求先求出兩個鍊錶的長度差,然後讓 步驟2,長度較長的鍊錶,向後移動長度差。使得兩個鍊錶後續遍歷長度相同,步驟3 最後移動兩個指標,一次對比資料,def getintersectionnode heada,headb...

求序列的交集(鍊錶)

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

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

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