function Node(value) {
this.value = value;
this.next = null;
}
class List {
constructor() {
this.head = new Node(1); // 直接令头指针值为 1
this.head.next=this.head;
}
push(node) { // 添加节点
let currNode = this.head;
while (currNode.next.value != 1) {
currNode = currNode.next;
}
currNode.next = node;
node.next=this.head;
}
display(currNode){ // 遍历链表节点
const path=[]
while(path.indexOf(currNode) < 0){
console.log(currNode.value)
path.push(currNode);
currNode=currNode.next;
}
}
}
function lastTwo(startNode){
let current=startNode;
let nextNode=null;
let m=3;
while(current.next.next!=current){
for (let i = 1; i < m-1; i++) {
current=current.next;
}
nextNode=current.next;
current.next=nextNode.next;
current=nextNode.next;
}
}
const list = new List();
// 再添加40个节点
for (let i = 2; i <= 41; i++) {
list.push(new Node(i))
}
lastTwo(list.head)
list.display(current) // 16 31
js链表,约瑟夫斯环
最新推荐文章于 2024-07-31 16:33:32 发布