1.顺序表:用一段物理地址连续的存储单元依次存储数据元素的线性结构
实现:sqlist.c sqlist.h test.c
sqlist.h:
typedef int data_t;
typedef struct {
data_t data;
int last;
}sqlist,*sqlink;
```c
2.链表:它由一组节点组成,每个节点包含一个值和一个指向下一个节点的指针。
```c
typedef struct node{
int data;
struct node *next;
}listnode,*linklist;
3.栈: 一种后进先出(LIFO)的数据结构,只允许在栈顶进行插入和删除操作。栈的应用非常广泛,如函数调用栈、括号匹配、表达式求值等。
4.队列: 一种先进先出(FIFO)的数据结构,队列常用于实现缓存、任务队列、消息队列等。
5.树:
树的根结点没有前驱,除根结点外的所有结点有且只有一个前驱。
树中所有结点可以有零个或多个后继。
6.堆:完全二叉树,堆常用于实现优先队列和排序算法。