zoukankan      html  css  js  c++  java
  • C#数据结构-双向链表

    理论基础:

         在结点中设两个引用域,一个保存直接前驱结点的地址,叫prev,一个直接后继结点的地址,叫next,这样的链表就是双向链表(Doubly Linked List)。

        dblist

    双向链表的结点结构示意图如上,双向链表结点的定义与单链表的结点的定义很相似,因此,双向链表节点类的实现可以参考单链表的节点类。

    C#实现:

    1接口

             引用线性表的接口IListDS<T>

    2实现

       (1)双向链表节点类,参考单链表的节点类

    Code

        (2) 双向链表操作类实现

        注意:由于双向链表的结点有两个引用,所以,在双向链表中插入和删除结点比单链表要复杂。双向链表中结点的插入分为在结点之前插入和在结点之后插入,插入操作要对四个引用进行操作

                 同样,删除操作也需要多多注意,其他的操作和单链表类似,不再赘述.

    Code

     此外,循环链表的基本操作与单链表大体相同,只是判断链表结束的条件并不是判断结点的引用域是否为空,

     而是判断结点的引用域是否为头引用,其它没有较大的变化,有兴趣的朋友可以写写。

       路曼曼其修远兮,吾将上下而求索
  • 相关阅读:
    [CSAPP笔记][第九章虚拟存储器][吐血1500行]
    [CSAPP笔记][第六章存储器层次结构]
    [CSAPP笔记][第八章异常控制流][呕心沥血千行笔记]
    好吧,刚把CSDN搬家到博客园。。记录一发
    [CSAPP笔记][第二章信息的表示和处理]
    综合练习:词频统计
    组合数据类型综合练习:英文词频统计
    熟悉常用的Linux操作
    1.大数据概述
    语义分析
  • 原文地址:https://www.cnblogs.com/Richet/p/1311874.html
Copyright © 2011-2022 走看看