用JavaScript实现的:
class Node {
constructor(data) {
this.data = data
this.next = null
}
}
class SingleNode {
constructor() {
this.head = null
}
isEmpty() {
return this.head === null
}
add(data) {
let temp = new Node(data)
temp.next = this.head
this.head = temp
}
size() {
let cur = this.head
let count = 0
while (cur != null) {
count++
cur = cur.next
}
return count
}
travel() {
let cur = this.head
while (cur != null) {
console.log(cur.data);
cur = cur.next
}
}
search(data) {
let cur = this.head
let bool = false
while (cur != null && !bool) {
if (cur.data == data) {
return true
} else {
cur = cur.next
}
}
return bool
}
insert(data,item){
let cur=this.head;
let found=false,previous=null;
while(cur!=null &&!found){
if(cur.data===data){
found=true
}else{
previous=cur
cur=cur.next
}
}
let temp=new Node(item)
if(previous==null){
temp.next=this.head
this.head=temp
}else{
temp.next=cur
previous.next=temp
}
}
remove(data) {
let cur = this.head
let [previous, found] = [null, false]
while (cur != null && !found) {
if (cur.data === data) {
found = true
} else {
previous = cur
cur = cur.next
}
}
if (previous == null) {
this.head = cur.next
} else {
previous.next = cur.next
}
}
}
let node = new SingleNode();
node.add('连萌')
node.add('连裤袜')
node.add('赵婉彤')
node.insert('连萌','文博');
node.travel()