线性表
存取结构与存储结构
存储结构:逻辑结构在计算机中的映射。
存取结构:在一个数据结构上对查找操作性能的描述,通常有两种存取结构:
- 随机存取:进行查找的时间复杂度为Ø(1),查找任意一个元素的时间为常数。
- 顺序存取:进行查找的时间复杂度为Ø(n),与位置有关。
顺序存储结构的C语言描述
ps: 有可能题目中会要求写出数据结构的定义,所以数据比较好
静态分配
1 2 3 4 5
| #define INIT_SIZE 100 typedef struct { int data[INIT_SIze]; int length; } staticSqList;
|
缺点:长度不能再改变。
动态分配
1 2 3 4 5 6 7 8 9 10
| #define INIT_SIZE 50 typedef struct { int *data; int length; int maxLength } dynamicSqList;
dynamicSqList *L; L->data = (int*)malloc(sizeof(int) * INIT_SIZE)
|
存储结构C语言描述
单链表
1 2 3 4
| typedef struct LNode { int data; struct LNode *next; } LNode, LinkList;
|
双链表
1 2 3 4 5
| typedef struct DNode { int data; struct DNode *prev; struct DNode *next; } DNode, DLinkList;
|
EOF