• 链表--笔记--数据结构(C++版)王红梅--自我思路整理与梳理


    看到这篇文的很多人大概都知道链表是个什么玩意了。简单说就是一个又一个的指针,指针之间用指针连接起来。

    本文的阅读   适合有c++基础的人群

    以下:

    这叫做一个结点。

     这就是一个链表。我们主要使用的是第一个结点上面没有数据,后面的结点有数据的链表。(别管为什么了,快试试吧。其实就是为了操作方便且统一)

    由于不知道链表里面的数据类型,因此我们用C++中的模板。

    template <class T>
    struct Node{
        T data;//数据域中的数据
        Node<T> *pnext;//指针域 用来指向下一个结点
    };

    我们把链表的实现封装成一个类,然后我们一个一个的来实现它。

    template<class T>
    class LinkList{
        public:
            LinkList();//建立不带数据的头结点
            LinkList(T a[],int n);//建立头结点+把数组中的值变成链表中的值,建立一个单链表
            ~LinkList();//析构函数 把链表中的结点一个个释放
            void PrintList();//遍历单链表
            int Length();//求单链表的长度 并返回单链表的长度(有数据的结点个数)
            T Get(int i);//返回第i个有数据结点的值
            int Locate(T x);//返回数据域是x的那个结点的位置
            void Insert(int i,T x);//在第i个结点处,插入数据域为x的另一个节点
            T Delete(int i);//删除第i个结点,返回被删除结点的值
        private:
            Node<T> *head;//头结点
    };

    下面是类方法的实现:

    template<class T>
    LinkList<T>::LinkList() {
        head=new Node<T>;
        head->pnext=NULL;
    }

    单链表的最后一个结点一定要指向NULL。由于这个是头结点,所以指向NULL。

  • 相关阅读:
    DataGridView中绑定List泛型的问题 [轉]
    .NET 導入EXCEL後數值型toString會變成空問題
    Linq連接List時多值時使用方法
    SQL2008报表三种实现Reporting Service2008匿名访问的方法(转)
    IIS7 WCF HTTP 错误 404.3 Not Found
    sql2005取得TABLE主鍵及欄位名稱,說明
    MSSQL禁用/啟用TRIGGER
    IE6下a:hover span失效问题(转载)
    asp.ner上传文件限制(转载)
    css优先级(转载)
  • 原文地址:https://www.cnblogs.com/juzijuziju/p/11601521.html
Copyright © 2020-2023  润新知