【数据结构】七种结构体对比(顺序表,链表,顺序栈,链栈,顺序队列,链队列,二叉树)

本文对比分析了七种常见的数据结构:顺序表、链表、顺序栈、链栈、顺序队列、链队列和二叉树,分别介绍了它们的存储结构和特点。顺序表采用动态分配存储空间,链表包括结构体定义和指针操作,顺序栈和链栈分别展示了栈的两种实现方式,顺序队列和链队列展示了队列的实现,而二叉树则涉及节点数据和左右子节点指针。
摘要由CSDN通过智能技术生成

1.顺序表

sqlist

typedef struct  /* 线性表的动态分配顺序存储结构 */
{
   ElemType *elem; /* 存储空间基址 */
   int length; /* 当前长度 */
   int listsize; /* 当前分配的存储容量(以sizeof(ElemType)为单位) */
}SqList;

2.链表

(这部分解释的比较详细)

struct LNode         //struct后面跟结构标记,区别于没有跟任何东西的struct
 {
   ElemType data;         //elemtype形式(默认为int) 的数据域
   struct LNode *next;    //定义一个指向结构体的指针变量(因为提过*号后是指针),保存下一个结点的地址
 };

注意上面并没有重命名!!!要定义结构体变量还是需要用  "struct LNode 结构变量名",如果想去掉struct需要用 "typedef struct LNode LNode",这样可以直接使用 "LNode 结构变量名"定义。
typedef struct LNode *LinkList;   //这里将struct LNode *重命名为Linklist,定义结构体指针变量只需使用  "LinkList 指针变量名".

3.顺序栈

SqStack

 typedef struct SqStack
 {

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值