美文网首页数据结构
数据结构题目27:建立一个循环链表

数据结构题目27:建立一个循环链表

作者: 玲儿珑 | 来源:发表于2020-05-01 05:14 被阅读0次

具体算法如下:

//定义链结点
class Node{
    constructor (data, link) {
        this.data = data,
        this.link = link
    }
}
//建立一个线性链表
function createCircleList(n) {
    let p, r, list 
    list = new Node(null, null)
    list.link = list
    let a , i
    for ( i=1; i<=n; i++) {
        a = Math.floor(Math.random()*10) //获取一个数据元素
        p = new Node(a, null) //申请一个新的链结点,data赋值,指针域置空
        if (list.link==list) {
            list.link = p
        } else {
            r.link = p
        }
        r = p
    }
    r.link = list
    return list
}
var circleList = createCircleList(10)
//打印链表以某种格式
function toString(list){
    if ( list.link==list) {
        return "这是个空循环链表"
    }
    let p = list.link
    let str = list.data
    while( p!=list ){
        str = str + '->' + p.data
        p = p.link
    }
    str = str + '->' + p.data
    return str
}
toString(circleList)

说明,带有头结点。

创建一个不带头结点的循环链表。

function createCircleList1(n) {
    let p, r, list = null
    let i
    //建立一个无头结点的循环链表
    for (i = 1; i <= n; i++) {
        p = new Node(i, null)
        if ( list==null ) {
            list = p
        } else {
            r.link = p
        }
        r = p
    }
    p.link = list
    //至此一个循环链表创建完了
    return list
}

性能:
算法的时间复杂度为O(n)

相关文章

  • 数据结构题目27:建立一个循环链表

    具体算法如下: 说明,带有头结点。 创建一个不带头结点的循环链表。 性能:算法的时间复杂度为O(n)

  • [源码和文档分享]基于QT实现的可视化链表(单链表、循环链表、双

    1.1 题目 题号1:分别以单链表、循环链表、双向链表为例,实现线性表的建立、插入、删除、查找等基本操作。 要求:...

  • 常见的数据结构

    常见的数据结构有: 数组 链表单链表、双向链表、循环链表、双向循环链表、静态链表 栈顺序栈、链式栈 队列普通队列、...

  • 线性表-单向循环链表

    单向循环链表 单向循环链表示意图如下: 数据结构定义(同普通链表) 单向循环链表初始化与赋值 在上面循环遍历查找尾...

  • 数据结构笔记

    数据结构课程概览 ================== 1.顺序表 2.链表:单链表,单向循环链表,双链表...

  • 集合-LinkedList解析

    一、概要 Java中底层数据结构是链表、双端链表,Android中数据结构是双向循环链表 非线程安全数据结构,允许...

  • 数据结构与算法--循环链表

    数据结构与算法--循环链表 单循环链表的实现 单链表的实现中,最后一个结点始终指向null,表示达到表尾部。位于l...

  • 数据结构题目:链表

    数据结构题目:链表 题目:求相邻k个节点数值之和最大的第一节点 输入数据(设为整型)建立单链表,并求相邻k个节点d...

  • 链表

    内容 链表数据结构 向链表添加元素 从链表移除元素 使用 LinkedList 表 双向链表 循环链表 链表数据结...

  • 数据结构与算法相关

    第二章 数据结构与算法相关 1.常用的数据结构有哪些? 数组、栈、队列、链表(单链表、双向链表、循环链表)、树、散...

网友评论

    本文标题:数据结构题目27:建立一个循环链表

    本文链接:https://www.haomeiwen.com/subject/hbffghtx.html