JavaScript将数组转换为链表

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;
}

比如我现在传入数组 data

那么,使用 array2List(data, 1) 函数后,生成的循环链表为:

如果要生成单链表,不需要传入 type


欢迎大家留言评论,也可以加 QQ 群 一起讨论前端知识。 QQ 群号: **481201580** 二维码: ![](https://img2018.cnblogs.com/blog/1312767/202002/1312767-20200216144608513-971277097.png)
posted @ 2020-02-16 14:47  小码哥鸭  阅读(2029)  评论(0编辑  收藏  举报