是技術(shù),更是藝術(shù)
一心編程,就沒(méi)有解決不了的問(wèn)題
posts - 9, comments - 11, trackbacks - 0, articles - 0
導(dǎo)航
C++博客
首頁(yè)
新隨筆
聯(lián)系
聚合
管理
<
2025年6月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類(lèi)
C++(4)
QT(1)
算法(3)
圖形學(xué)(1)
云平臺(tái)
隨筆檔案
2010年10月 (1)
2010年9月 (1)
2010年7月 (3)
2009年12月 (1)
2009年9月 (2)
2009年8月 (1)
搜索
最新評(píng)論
1.?re: QT顯示TGA圖片
經(jīng)測(cè)試,在Linux下此方法不行。程序有時(shí)候出現(xiàn)異常,有時(shí)候會(huì)顯示錯(cuò)誤的圖像。我的環(huán)境是Ubuntu11.10,Qt4.8.3,Qt Creator2.41。
--彩陽(yáng)
2.?re: 快速判斷素?cái)?shù)算法
理論依據(jù)是什么?
--aa
3.?re: 快速判斷素?cái)?shù)算法
@某W
謝謝,拋磚引玉而已,期待你提出更優(yōu)秀的方法
--李熙建
4.?re: 判斷單鏈表是否有環(huán)
@kyle
非常感謝你指出其中的錯(cuò)誤
--李熙建
5.?re: 快速判斷素?cái)?shù)算法
這方法很強(qiáng)大~
謝謝~
--某W
閱讀排行榜
1.?快速判斷素?cái)?shù)算法(4237)
2.?判斷單鏈表是否有環(huán)(3170)
3.?QT顯示TGA圖片(2077)
4.?時(shí)間統(tǒng)計(jì)的幾種方法(1039)
5.?Material Editor(959)
評(píng)論排行榜
1.?判斷單鏈表是否有環(huán)(4)
2.?快速判斷素?cái)?shù)算法(3)
3.?Material Editor(3)
4.?QT顯示TGA圖片(1)
5.?temp 對(duì)象(0)
判斷單鏈表是否有環(huán)
Posted on 2010-09-24 12:30
李熙建
閱讀(3170)
評(píng)論(4)
編輯
收藏
引用
所屬分類(lèi):
C++
typedef
struct
LNode
{
int
data;
LNode
*
next;
}
LNode ;
typedef LNode
*
LinkList;
//
單鏈表有環(huán)返回true 否則返回false
bool
is_looplist(LNode
*
head)
{
LNode
*
fast,
*
slow;
if
(head
==
NULL
||
head
->
next
==
NULL)
{
return
false
;
}
slow
=
head;fast
=
head->next;
while
(
true
)
{
if
(
!
fast
||
!
fast
->
next)
return
false
;
//
為了防止fast跨過(guò)slow的情況,在每次判斷的時(shí)候比較當(dāng)前節(jié)點(diǎn)和下一節(jié)點(diǎn)
else
if
(fast
==
slow
||
fast
->
next
==
slow)
return
true
;
else
{
slow
=
slow
->
next;
//
一次跳一步
fast
=
fast
->
next
->
next;
//
一次跳兩步
}
}
}
如果要返回環(huán)的入口節(jié)點(diǎn)
一種效率比較低的方法是
一個(gè)指針p1從表頭開(kāi)始,指針p2 初始化為判環(huán)時(shí)找到的指針,p1每前進(jìn)一步,由p2遍歷一次環(huán)中各結(jié)點(diǎn),遍歷過(guò)程中每次都要判斷p1是否p2
當(dāng)p2 == fast時(shí)候,p1 = p1.next,繼續(xù)循環(huán)。這樣肯定能找到入口,但是效率為O(n^2)
Feedback
#
re: 判斷單鏈表是否有環(huán)
回復(fù)
更多評(píng)論
2010-09-25 08:16 by
Algorics
如果知道鏈表的結(jié)點(diǎn)數(shù)n,那么如果進(jìn)行n+1次找下一個(gè)結(jié)點(diǎn)還沒(méi)到鏈表的尾部的話(huà)就有環(huán)。
#
re: 判斷單鏈表是否有環(huán)
回復(fù)
更多評(píng)論
2010-09-26 21:46 by
李熙建
@Algorics
一般情況下,只已知鏈表的頭節(jié)點(diǎn),鏈表元素個(gè)數(shù)已知的情況下,你說(shuō)的方法可以
#
re: 判斷單鏈表是否有環(huán)[未登錄](méi)
回復(fù)
更多評(píng)論
2011-05-06 17:49 by
kyle
代碼有錯(cuò)...永遠(yuǎn)返回TRUE.
在對(duì)fast初始化的時(shí)候應(yīng)該是fast=head->next;
#
re: 判斷單鏈表是否有環(huán)
回復(fù)
更多評(píng)論
2011-08-01 09:14 by
李熙建
@kyle
非常感謝你指出其中的錯(cuò)誤
刷新評(píng)論列表
只有注冊(cè)用戶(hù)
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
cout問(wèn)題
判斷單鏈表是否有環(huán)
temp 對(duì)象
CString,string,char*, int之間的轉(zhuǎn)換
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
Powered by:
C++博客
Copyright © 李熙建
久久免费精品一区二区
|
无码久久精品国产亚洲Av影片
|
亚洲色婷婷综合久久
|
国产午夜久久影院
|
亚洲国产另类久久久精品小说
|
色狠狠久久AV五月综合
|
国产精品岛国久久久久
|
久久综合偷偷噜噜噜色
|
久久精品天天中文字幕人妻
|
久久综合鬼色88久久精品综合自在自线噜噜
|
久久精品女人天堂AV麻
|
国产高潮国产高潮久久久
|
亚洲精品美女久久久久99
|
欧美日韩中文字幕久久伊人
|
亚洲国产精品综合久久网络
|
麻豆精品久久精品色综合
|
色播久久人人爽人人爽人人片aV
|
亚洲综合精品香蕉久久网97
|
2022年国产精品久久久久
|
国产亚洲精午夜久久久久久
|
99久久无码一区人妻
|
一本一本久久a久久综合精品蜜桃 一本一道久久综合狠狠老
|
色偷偷88欧美精品久久久
|
国产精品女同久久久久电影院
|
久久影院亚洲一区
|
久久无码一区二区三区少妇
|
午夜精品久久影院蜜桃
|
久久免费国产精品一区二区
|
日韩人妻无码精品久久免费一
|
亚洲精品乱码久久久久久不卡
|
久久国产高清字幕中文
|
国产一级持黄大片99久久
|
久久久精品国产sm调教网站
|
久久久亚洲AV波多野结衣
|
亚洲AV无码1区2区久久
|
婷婷久久五月天
|
无码人妻久久一区二区三区蜜桃
|
亚洲人成无码久久电影网站
|
精品无码久久久久久久动漫
|
99久久国产免费福利
|
精品久久久久久久中文字幕
|