现在的位置: 首页 > 综合 > 正文

数据结构学习笔记二 线性表的链式存储结构1

2013年10月05日 ⁄ 综合 ⁄ 共 2864字 ⁄ 字号 评论关闭

单链表中链表中结点的结构:分为数据域和指针域两个部分,指针域指示下一个结点的地址
首先设一个head指针指向开始结点,终端结点的指针域为NULL。由于单链表的头指针是唯一的,
所以可以用作链表的名字。

 

用到的几个函数:
①:void * malloc(unsigned int size);//在内存的动态存储区中分配一个长度为size的连续空间
②:void * calloc(unsigned n,unsigned size); //分配长度为n长度的空间
③:void free(void * p) // 释放p所指向的内存区

 

建立单链表的方法(将字符放入链表中)

一:头插法建表
在一个空表中,生成新的结点,将读入的数据放到新的结点数据域中,然后将新的结点插入到链表的表头位置
缺点:输入的顺序与链表的顺序相反

 

二:尾插入法建表
链表结构中有一个尾指针,并始终指向尾结点。操作方法是在空表中,将新的结点存放到头指针中,其余的结点放在其前驱结点的指针域中。
缺点:需要对头结点单独处理。

三。带头结点的尾插法(常规建表法)

开始的结点的位置存放在头结点的指针域中,无论链表是否为空,其头指针是指向头结点的非空指针。
一般在头结点的数据域中存放长度等信息

 

下面是示例代码

抱歉!评论已关闭.