最近又回到了数据结构与算法,发现差不多又忘了,但我觉得并没有什么大不了,学习不就是一个反复的过程吗。其实我还挺享受能够把一个知识点弄懂的感觉的。
function LinkedList() {
//节点的构造函数,可以用于实例化一个节点
function Node(data) {
//节点的数据域
this.data = data
//节点的指针域
this.next = null
}
//链表的头指针
this.head = null
//链表的长度
this.length = 0
//1.append方法
LinkedList.prototype.append = function (data) {
if (this.length === 0) {
let newNode = new Node(data)
this.head=newNode
} else {
var newNode=new Node()
let currentNode=this.head
while(currentNode.next!==null){
currentNode=currentNode.next
}
currentNode.next=newNode
}
this.length+=1
}
//2.toString方法
LinkedList.prototype.tostring = function () {
let currentNode = this.head
let TotalString=""
while (currentNode) {
TotalString+=currentNode.data+" "
currentNode=currentNode.next
}
return TotalString
}
}
var linkList1 = new LinkedList();
linkList1.append(1)
linkList1.append(2)
linkList1.append(3)
console.log(linkList1.tostring());
console.log(linkList1.head.next);