使用JS实现is形式的单向链表请编写一个函数,用于创建一个单向链表。这个函数将会接收一个数组作为参数,其中数组的每一个元素都是链表节点的值编写的函数需要返回生成链表的头节点输入描述输入 af=[1,2,3,4,5]
时间: 2024-09-27 15:12:41 浏览: 34
在JavaScript中,我们可以使用对象和指针的方式来实现单向链表。首先,我们需要定义链表节点(Node)结构,然后创建一个`LinkedList`类,其中包含`head`属性表示链表的头节点。这里是一个简单的实现:
```javascript
// 链接节点构造函数
function Node(value) {
this.value = value;
this.next = null; // 指向下一个节点
}
// 创建单向链表的函数
class LinkedList {
constructor(arr) {
this.head = null;
for (let i = 0; i < arr.length; i++) {
this.push(arr[i]);
}
}
// 添加新节点到链表尾部
push(value) {
const newNode = new Node(value);
if (!this.head) {
this.head = newNode;
} else {
let current = this.head;
while (current.next) {
current = current.next;
}
current.next = newNode;
}
}
// 判断是否包含特定值并返回链表形式(示例中的 is 形式)
toIsForm() {
let result = "";
let currentNode = this.head;
while (currentNode) {
result += `{value: ${currentNode.value}, next: ${currentNode.next ? currentNode.next.value : "null"}} -> `;
currentNode = currentNode.next;
}
return `${result}null`;
}
}
// 示例
const inputArray = [1, 2, 3, 4, 5];
const list = new LinkedList(inputArray);
console.log(list.toIsForm()); // 输出: {value: 1, next: {value: 2, next: {value: 3, next: {value: 4, next: {value: 5, next: null}}}} -> null
```
在这个例子中,我们首先通过`push`方法将数组元素添加到链表中,然后提供了一个`toIsForm`方法来按照`is`形式打印链表的状态。当你运行这段代码,它会输出每个节点及其指向的下一个节点,直到链表结束。
阅读全文