数据结构含义
数据结构是计算机存储、组织数据的方式。研究数据结构的意义在于使得程序更简洁高效。
顺序表
顺序表的特点:
顺序并且连续存储、访问方便;大小固定;表满不能存、表空不能取
优点:插入方便;缺点:插入,删除的操作需要移动其它元素
创建顺序表的步骤:
1.定义链表中的数据元素,通常为一个结构体,例如定义一件商品
typedef struct shop{
char name[20];//商品的名称
int count;//商品的数量
float in_price;//商品的进价
float out_price;//商品的售价
}data_type;
- 2. 定义一个顺序表类型 ,也是一个结构体
-
#define N 10
typdef struct list{
data_type arr[N];
int count;//有效数据的个数(0 == count不能取、N == count不能存)
}List;
-
3.对顺序表的操作
-
(1)插入元素
-
(2)查找元素
-
(3)删除元素
-
(4)销毁顺序表
-
2.链表
- 组成链表的数据元素称为节点
- 链表的本质是通过指针将多个节点连接起来
- 创建链表的步骤:
- 1.创建链表的首节点
- 2.插入节点,插入方式有头插法,尾插法,中间插入
- 3.删除节点,删除方式有头删法,尾删法,中间删除
- 链表按照单节点保存的地址个数分为单向链表和双向链表
- 特殊的线性表:
- 栈 栈是限制在一端(栈顶)进行插入操作和删除操作的线性表,先入后出
- 队列 队列允许在两端进行操作,在队尾插入,在队头删除,先进先出
-
二叉树
-
二叉树(Binary Tree)是n(n≥0)个节点的有限集合,它或者是空集(n=0),或者是由一个根节点以及两棵互不相交的、分别称为左子树和右子树的二叉树组成
-
哈希表