JS中将数组转换为链表

/**
* 将数组转换为链表
* @param array arr
需要转换的数组
* @param int
type
转换的类型,0为单链表,1为循环链表
* @return object
返回链表
*/
function array2List(arr, type = 0) {

if (!arr.length) return null;

let header = { index: 0, data:arr[0], next: null };

let obj = header;

for (let i = 1; i < arr.length; i++) {

obj.next = { index: i, data: arr[i], next: null };

obj = obj.next;

}

if (type) obj.next = header;

return header;
}
/**
* 将数组转换为链表
* @param array arr
需要转换的数组
* @param int
type
转换的类型,0为单链表,1为循环链表
* @return object
返回链表
*/
function array2List(arr, type = 0) {

if (!arr.length) return null;

let header = { index: 0, data:arr[0], next: null };

let obj = header;

for (let i = 1; i < arr.length; i++) {

obj.next = { index: i, data: arr[i], next: null };

obj = obj.next;

}

if (type) obj.next = header;

return header;
}比如我现在传入数组 data:那么,使用 array2List(data, 1) 函数后,生成的循环链表为:如果要生成单链表,不需要传入 type 值总结总结总结以上所述是小编给大家介绍的JavaScript将数组转换为链表的方法,希望对大家有所帮助!