码迷,mamicode.com
首页 > 其他好文 > 详细

线性表

时间:2016-04-13 20:33:23      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

线性表分为顺序存储结构和链式存储结构(单链表,静态链表,循环链表,双向链表)。

  • 单链表(**一种动态结构,所占空间的大小和位置不需要预先分配划定)---每一个节点只记录一个节点信息,不能断。

若线性表需要频繁查找,很少进行插入和删除操作时,宜采用顺序存储结构(只读取情况)。若需要频繁插入和删除和插入时,宜采用单链表结构(不需要考虑存储空间的大小)。

  • 静态链表:用数组描述的链表-----数组中每一个下标都是一个“节”包含数据和指向。

1;数组第一个元素的cur用来存放备用链表(空闲空间)的第一个结点的下标。
数组最后一个元素的cur用来存放第一个插入元素的下标,相当于头结点。
2;在动态链表中,结点的申请和释放分别借用malloc()和free()两个函数来实现。在静态链表中,操作的是数组,要我们自己实现这两个函数(将所有未被使用过的及已经被删除的分量用游标链成个备用的链表,每当进行插入时,便可以从备用链表上取得第一个结点作为待插入的新节点,通过游标找对应的下标依次读出即可),才能做到插入和删除操作。
3;静态链表不需要移动元素,只需要修改游标,但这样失去了顺序存储结构随机存储的特性,由存储分配带来的表长难以确定

  • 循环链表:

将单链表中终端结点的指针端有空指针改为指向头结点,使整个单链表形成一个环,这种头尾相接的单链表称为单循环链表。

  • 双向链表:

 

在单链表的每个结点中,再设置一个指向其前驱结点的指针域。(它的前驱的后继和后继的前驱都是自己)

线性表

标签:

原文地址:http://www.cnblogs.com/hpbb/p/5388403.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!