微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[考研数据结构] 1.线性表


线性表


一、顺序表

1. 结构体定义

#define MaxSize 100
typedef struct sqlist{
	int data[MaxSize];
	int length;
}sqlist;

2. 数组直接定义

int data[MaxSize];
int length;

3. 顺序存储结构

二、单链表

1. 结构体定义

typedef struct Node {
	int data;
	struct Node *next;
}Node, *LinkList;

2. 链式存储结构

  • 只能顺序存取,不能随机存取
  • 判空条件:L -> next == NULL (只有头节点)

    在这里插入图片描述

3. 头插法建立单链表

  • 链表元素顺序与读入数据顺序相反
  • 可实现单链表的逆置

4. 尾插法建立单链表

  • 链表元素顺序与读入数据顺序相同

三、 双链表

1. 结构体定义

typedef struct Node {
	int data;
	struct Node *prior, *next;
}Node, *LinkList;

2. 链式存储结构

  • 判空条件:L -> next == NULL (只有头节点)

    在这里插入图片描述



四、循环链表

1.循环单链表

  • 判空条件:L -> next == L (只有头节点)

    在这里插入图片描述

2.循环双链表

  • 判空条件:L -> next == L && L -> prior == L (只有头节点)

    在这里插入图片描述


五、静态链表

  • 实际上是顺序存储的数组,在逻辑上表示单链表

    在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐