数据结构之~线性表
2015-12-12 11:27
288 查看
线性表的储存方式:
(1)顺序储存:用连续的储存单元进行数据的储存。
分配储存单元:
typedef struct{
int *elem;
int legth; //线性表长度
int listSize;//线性表的储存位置
} SqList;
a>优点:由于是储存的单元是连续的,所以可以快速进行查找数据向我们是编程中使用的NSArray,表示数组一样。
b>缺点:在删除和添加过程中需要移动的数据比较多。
(2)链式储存:任意的储存单元进行数据的储存。每一组储存影像代表一个储存的元素------我们称之为(结点)。
结点:包括两部分,指针域:储存直接后继储存位置。
数据域:储存元素信息。
分配储存单元:
//线性表的链式储存结构
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode, *LinkList;
a>优点:在删除和添加过程中需要移动的数据比较少。
b>缺点:与顺序列表相比较由原来“位序表示”--》变为目前的线性链表“位置表示”,查找数据需要重头开始。而且我们在储存数据时需要储存相应的指针所以需要的内存密度可能小与顺序储存。
(1)顺序储存:用连续的储存单元进行数据的储存。
分配储存单元:
typedef struct{
int *elem;
int legth; //线性表长度
int listSize;//线性表的储存位置
} SqList;
a>优点:由于是储存的单元是连续的,所以可以快速进行查找数据向我们是编程中使用的NSArray,表示数组一样。
b>缺点:在删除和添加过程中需要移动的数据比较多。
(2)链式储存:任意的储存单元进行数据的储存。每一组储存影像代表一个储存的元素------我们称之为(结点)。
结点:包括两部分,指针域:储存直接后继储存位置。
数据域:储存元素信息。
分配储存单元:
//线性表的链式储存结构
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode, *LinkList;
a>优点:在删除和添加过程中需要移动的数据比较少。
b>缺点:与顺序列表相比较由原来“位序表示”--》变为目前的线性链表“位置表示”,查找数据需要重头开始。而且我们在储存数据时需要储存相应的指针所以需要的内存密度可能小与顺序储存。
相关文章推荐
- hdu 1381
- hdu 2428(哈希)
- 程序员代码面试指南:IT名企算法与数据结构题目最优解(题目)
- 数据结构C++实现——堆和优先权队列
- 【数据结构】Java实现图的DFS和BFS
- 【数据结构】Java实现二叉树遍历(递归)
- 【数据结构】Java实现二叉树遍历(非递归)
- 【数据结构】Java实现单链表
- RIA带来了什么
- 采用动态缓存机制的内容发布实现(二)系统组成
- 内容管理相关要素
- java数据结构--栈
- 数据结构再学习-散列表(哈希表)实现
- 小猪的数据结构辅助教程——2.5 经典例子:约瑟夫问题的解决
- 数据结构:循环队列(C语言实现)
- SDUT 数据结构实验之查找二:平衡二叉树
- php导出mysql的数据结构
- 数据结构与内存中的堆与栈
- kmp算法中next数组的3种表示方式
- 自动还原魔方算法数据结构