王道課後習題2 3 22 兩個鍊錶的共同字尾

2021-09-26 12:47:39 字數 2402 閱讀 1270

題目描述:

帶頭結點的單鏈表,尋找兩個鍊錶的共同字尾的起始位置。

演算法思想:

雙指標法

核心**:

//雙指標法

int length(lnode* l)//注意:這裡之前寫成了int length(lnode* &l)用的引用。

//這樣的話,head1和head2最後都會變成null。難怪執行不對。

return k;

}lnode* find_pubilc_node(lnode* &head1,lnode* &head2)//不帶頭結點

else

int k=longlen-shortlen;

while((k--)!=0)//這裡忘記--了

//while(longlist&&shortlist&&longlist->data!=shortlist->data)這裡不是找相同的值

while(longlist!=null)

}return null;

}lnode* find_pubilc_node_2(lnode* &head1,lnode* &head2)//不帶頭結點

else

while((dist--)!=0)//這裡忘記--了

while(longlist!=null)

}return null;

}lnode* find_pubilc_node_3(lnode* &head1,lnode* &head2)//不帶頭結點

while(len1next;

len2--;

}while(p!=null&&p!=q)

return p;

}

完整**:

#include #include typedef struct lnode//如果不在這裡加lnode,結構體內的lnode*就會報錯

lnode;

//雙指標法

int length(lnode* l)//注意:這裡之前寫成了int length(lnode* &l)用的引用。

//這樣的話,head1和head2最後都會變成null。難怪執行不對。

return k;

}lnode* find_pubilc_node(lnode* &head1,lnode* &head2)//不帶頭結點

else

int k=longlen-shortlen;

while((k--)!=0)//這裡忘記--了

//while(longlist&&shortlist&&longlist->data!=shortlist->data)這裡不是找相同的值

while(longlist!=null)

}return null;

}lnode* find_pubilc_node_2(lnode* &head1,lnode* &head2)//不帶頭結點

else

while((dist--)!=0)//這裡忘記--了

while(longlist!=null)

}return null;

}lnode* find_pubilc_node_3(lnode* &head1,lnode* &head2)//不帶頭結點

while(len1next;

len2--;

}while(p!=null&&p!=q)

return p;

}lnode* headinsert(lnode* &head)

return head->next;

//return head;

/*根據需要返回

1.return head帶頭結點的鍊錶

2.return head->next不帶頭結點的鍊錶

*/}lnode* tailinsert(lnode* &head)

r->next=null;//記得這句

return head->next;

//return head;

}void tailinsert_publicnode(lnode* &head1,lnode* &head2)

printf("l2:\n");

lnode *r2=head2;

scanf("%d",&x);

while(x!=999)

printf("public:\n");

scanf("%d",&x);

while(x!=999)

r1->next=null;//記得這句

r2->next=null;//記得這句

//return head;

}void printlist(lnode* l)

}int main()

王道課後習題2 3 8 找出兩個鍊錶的公共結點

題目描述 給定兩個單鏈表,編寫演算法找出兩個鍊錶的公共結點。演算法思想 核心 include include typedef struct lnode 如果不在這裡加lnode,結構體內的lnode 就會報錯 lnode int length lnode l 注意 這裡之前寫成了int length...

鍊錶課後複習題 王道

目錄 1.設計乙個遞迴演算法,刪除不帶頭結點的單鏈表l中所有值為x的結點。2.刪除帶頭結點的單鏈表l中所有值為x的結點。3.在帶頭結點的單鏈表l中從尾到頭反向輸出每個結點的值 4.帶頭結點單鏈表l中刪除乙個最小值結點的比較高效的演算法,假設最小值結點唯一 5.將帶頭結點的鍊錶就地逆置 明日繼續更 以...

譚浩強課後習題9 10 合併兩個鍊錶並按公升序排列

譚浩強第9章結構體第10題 已知有a,b兩個鍊錶,每個鍊錶中的結點包含學號,成績。要求把兩個鍊錶合併,按學號公升序排序。01 a 03 c 26 z 1 end 02 b 04 d 05 f 1 end 1 a 2 b 3 c 4 d 5 f 26 z 學號,姓名。把a,b兩個鍊錶合併按學號公升序排...