b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

数据结构的双链表(六个)

电脑杂谈  发布时间:2020-03-25 11:13:50  来源:网络整理

链表结构 java代码_双向链表结构_数组结构与链表结构堆栈队列

上一节会更长一些双向链表结构,因此我们将在本文中介绍双向链接列表.

双向链表

双向连接的图示:

双向链表的操作与单向链表的操作类似.

仅在实现过程中,需要考虑节点之间的更多关系,因此它比单向链表更加复杂.

链表结构 java代码_双向链表结构_数组结构与链表结构堆栈队列

情况2: 链接列表中已经有3个数据代码. 您无需进行更多解析. 长度必须为+1.

该方法的相关实现:

// 正向遍历的方法
DoublyLinkedList.prototype.forwardString = function () {
    var current = this.head
    var forwardStr = ""
    
    while (current) {
        forwardStr += "," + current.element
        current = current.next
    }
    
    return forwardStr.slice(1)
}
// 反向遍历的方法
DoublyLinkedList.prototype.reverseString = function () {
    var current = this.tail
    var reverseStr = ""
    
    while (current) {
        reverseStr += "," + current.element
        current = current.prev
    }
    
    return reverseStr.slice(1)
}
// 实现toString方法
DoublyLinkedList.prototype.toString = function () {
    return this.forwardString()
}

完成上述代码后双向链表结构,测试append方法

// 1.创建双向链表对象
var list = new DoublyLinkedList()
// 2.追加元素
list.append("abc")
list.append("cba")
list.append("nba")
list.append("mba")
// 3.获取所有的遍历结果
alert(list.forwardString()) // abc,cba,nba,mba
alert(list.reverseString()) // mba,nba,cba,abc
alert(list) // abc,cba,nba,mba

数组结构与链表结构堆栈队列_链表结构 java代码_双向链表结构

第二种情况: 将元素插入到末尾(位置===长度)

案例三: 在中间位置插入元素

测试方法

// 4.insert方法测试
list.insert(0, "100")
list.insert(2, "200")
list.insert(6, "300")
alert(list) // 100,abc,200,cba,nba,mba,300

链表结构 java代码_双向链表结构_数组结构与链表结构堆栈队列

课后思考: 代码性能可以提高一点吗?

案例二: 删除尾随元素

情况3: 删除中间的元素

双向链表结构_链表结构 java代码_数组结构与链表结构堆栈队列

测试removeAt方法

// 5.removeAt方法测试
alert(list.removeAt(0)) // 100
alert(list.removeAt(1)) // 200
alert(list.removeAt(4)) // 300
alert(list) // abc,cba,nba,mba

代码测试:

// 6.indexOf方法测试
alert(list.indexOf("abc")) // 0
alert(list.indexOf("cba")) // 1
alert(list.indexOf("nba")) // 2
alert(list.indexOf("mba")) // 3

测试代码:

// 7.remove方法测试
alert(list.remove("abc")) // abc
alert(list) // cba,nba,mba

代码测试:

// 8.测试最后四个方法
alert(list.getHead())
alert(list.getTail())
alert(list.isEmpty())
alert(list.size())

©版权归作者所有,如需转载或内容合作,请联系作者


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-151717-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 赵贵朵
        赵贵朵

        多行不义必自毙

      • 黄玥
        黄玥

        希望国家坚决制止美军挑衅行为

      • 程琳
        程琳

        银行一年少给我100元和我一个月少给银行941元

      热点图片
      拼命载入中...