題目描述:
帶頭結點的單鏈表,尋找兩個鍊錶的共同字尾的起始位置。演算法思想:
雙指標法核心**:
//雙指標法
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兩個鍊錶合併按學號公升序排...