• 单链表(2)


    单链表实现

    设计好的结构写在头文件里面。

    可以将顺序表的头文件复制到单链表里面,将里面所有的DPSQList替换为List,所有的PS替换为plist,所有顺序表替换为链表。

    也就是DPSQList PS换为List plist。顺序表PS换为链表plist。

    单链表比较于顺序表,多了个插入中的,在插入函数前的头插和尾插。

    在查找key值前面加一个,获取数据结点的个数,也就是获取有效数据的个数。

    在链表里面的结点的地址 作用相当于顺序表中的下标,所以其查找的返回类型为Node*。

    返回前驱回后继的数据的地址也同理。

    1. typedef struct Node
    2. {
    3. int data;//结点中的数据域
    4. struct Node* next;//指向后继数据地址的指针
    5. }Node,*List;//List==*Node
    6. //链表的基本实现操作(常用的),应用操作一般不放在这里面
    7. //可以将链表的复制过来
    8. //初始化
    9. void InitList(List plsit);//Init:初始化。DplsitQList为链表结构体指针数据类型+其定义 的变量,名字为plsit
    10. //头插(插入在头结点后面的第一个有效数据的位置上)
    11. bool Insert_head(List plist,int val);
    12. //尾插
    13. bool Insert_tail(List plist, int val);
    14. //插入数据,在链表plsit的pos位置插入val数据元素
    15. //插入操作有2种结果,插入成功或失败,所以其插入函数原型是bool类型,只返回2种结果
    16. bool Insert(List plsit, int pos, int val);//参数就是实现这个函数的使用需要外界提供给它的数据东西
    17. //判空(判断链表是否为空)
    18. bool IsEmpty(List plsit);
    19. //获取数据结点的个数
    20. int Getlength(List plsit);
    21. //在链表plsit中 查找第一个key值,找到返回key值的结点地址,没有找到返回空NULL
    22. //所以其查找的返回类型为Node*
    23. Node* Search(List plsit, int key);
    24. //删除链表plsit中pos位置的值,删除跟插入一样成功或失败2种结果
    25. bool DelPos(List plsit, int pos);
    26. //删除第一个val的值
    27. bool DelVal(List plsit, int val);
    28. //返回key的前驱地址,如果不存在(key无前驱,在表头)返回NULL
    29. int GetPrio(List plsit, int key);
    30. //返回key的后继下标,如果不存在(key无后继,在表尾)返回NULL
    31. Node* GetNext(List plsit, int key);
    32. //输出链表,不是对链表内部的操作,但为了展示我们对链表的操作是否正确,有时要输出看一下
    33. void Show(List plsit);
    34. //清空链表中的数据
    35. void Clear(List plsit);
    36. //销毁整个链表内存(交回)
    37. void Destroy(List plsit);

  • 相关阅读:
    solidity部署和验证代理合约
    CSS选择器的常见用法
    基于Vue3在线商城(Vue3+VueCLI+VueRouter+vuex+axios+Bootstrap)
    RecursionError: maximum recursion depth exceeded情况解决之一
    NFT:使用 EIP-2981 开启 NFT 版税之旅
    Blazor的SSR服务端渲染是不是交互式的
    linux查看es节点使用情况,elasticsearch(es) 如何查看当前集群中哪个节点是主节点(master)
    01Redis的安装和开机自启的配置
    OpenMV输出PWM,实现对舵机控制
    Django-rest-framework框架之drf请求与响应及2个视图基类
  • 原文地址:https://blog.csdn.net/wzdxsa/article/details/134266220