(
① 鏈表不是隨機存取結構
在鏈表中
next逐個結點往下搜索
② 查找的思想方法
計數器j置為
p所指的結點就是要找的第i個結點
注意
頭結點可看做是第
③具體算法實現
ListNode* GetNode(LinkList head
{//在帶頭結點的單鏈表head中查找第i個結點
//則返回該結點的存儲位置
int j;
ListNode *p;
p=head;j=
while(p
p=p
j++;
}
if(i==j)
return p;//找到了第i個結點
else return NULL;//當i<
}
④算法分析
算法中
(
①思想方法
從開始結點出發
位置;否則返回NULL
②具體算法實現
ListNode* LocateNode (LinkList head
{//在帶頭結點的單鏈表head中查找其值為key的結點
ListNode *p=head
while(p&&p
p=p
return p;//若p=NULL
}
③算法分析
該算法的執行時間亦與輸入實例中key的取值相關
From:http://tw.wingwit.com/Article/program/sjjg/201311/23307.html