• 链表--笔记--数据结构(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。

  • 相关阅读:
    Python基础23_os,sys,序列化,pickle,json
    Python基础22_模块,collections,time,random,functools
    Python基础21_类与类型, MRO, C3算法, super()
    Python基础20_类的约束,异常处理,MD5加密,日志
    python反射机制
    python 依赖关系 与关联关系
    python 类的常见的特殊成员
    类的成员(*变量与*方法)
    初识面向对象
    简说匿名函数与递归
  • 原文地址:https://www.cnblogs.com/juzijuziju/p/11601521.html
Copyright © 2020-2023  润新知