兩個鏈表List1黑人List2刪除List2中與List1相同的結點?
先用兩個結構體指針指向兩個表的頭指針head1、head2,然后指針后移逐個查找然后刪除表2的相同結點,假若表是由這樣的結構體構成:
structstudent{char"名字";intage;/*(年齡)*/intnum;/*(學號)*//*我們用學號來判斷相同結點*/structstudent*next;};structstudent*del(structstudent*head1,structstudent*head2)函數{structstudent*p1,*p2,*p;p1=head1;*在這里建立鏈表的過程就不寫了*p2=head2;while(p1->next!=NULL&&p2->next!=NULL){for(;p1!=NULL;p1++)for(;p2!=NULL;p2++)if(p1->unm==p2->num)/*找到相同的結點*/{if(p2==head2)head2=p2->next;/*如果首結點相同,刪除p2的首結點*/else{p=--p2;p->next=p2->next;/*刪除結點*/}}}return(head2);}以上并未考慮空表的情況有什么問題及時提出來