题目:确定元素item在线性链表中的位置
解题思路:从链表的第1个链结点开始,从前向后依次比较当前链结点的数据域内容是否与给定值item匹配。若查找成功,算法返回被查找结点的地址,否则,返回NULL。
具体算法实现如下:
这里我们会用到createLinklist(n)来建立一个线性链表出来。
let list = createLinklist(Math.floor(Math.random()*10))
function find(list, item) {
let p = list
while( p!=null && p.data!=item ){
p = p.link
}
return p
}
find(list, 3)
性能:
时间复杂度为O (n)