线性数据结构的遍历
arr = [1, 2, 3, 4, 5, 6]
const traverseArr = arr => {
if (arr === null) {
return
}
for (const item of arr) {
console.log(item)
}
}
traverseArr(arr)
console.log('----------------')
class Node {
constructor(value){
this.value = value
this.next = null
}
}
const node1 = new Node(1)
const node2 = new Node(2)
const node3 = new Node(3)
const node4 = new Node(4)
const node5 = new Node(5)
const node6 = new Node(6)
node1.next = node2
node2.next = node3
node3.next = node4
node4.next = node5
node5.next = node6
const traverseLink = root => {
let temp = root
while (true) {
if (temp !== null) {
console.log(temp.value)
} else {
break
}
temp = temp.next
}
}
traverseLink(node1)
console.log('-----------------')
const recursionLink = root => {
if (root === null) {
return
}
console.log(root.value)
recursionLink(root.next)
}
recursionLink(node1)