链表与顺序表

2018年7月22日22:38:29 发表评论
/*                  顺序表               */
//表的创建流程
//顺序表: 实质是创建一个结构体,并在结构体创建时开辟预设大小的数组,还要设计一个尾指针.
//尾指针实际是数组元素的下标,尾指针及其前面的数据才是有效数据,尾指针后面的数据为无效数据
// 尾指针 初始化为 -1
type struct {
int data[100];  //创建一个数组大小为100
int len ;//=-1;   //创建尾指针 ,指向为 -1, 说明该表没有有效元素,即是一个空表
} sqlist;
//每当对表的数据进行删除或者增加时 尾指针要进行相应的变动.
sqlist * sqlist_create()    //表头创建并初始化函数
{
splist * head =(sqlist *)malloc(sizeof(sqlist));  //创建表头, head 为表头地址
memset(head,0,sizeof(sqlist)); //清空
head ->len=-1;  //创建尾指针 ,指向为 -1, 说明该表没有有效元素,即是一个空表
}
/*                            链表                     */
//链表实质是创建结构体,在结构体中分为数据域(data) 与指针域(后:next, 前 :prior   )
// 链表中的数据要包装成节点的形式进行插入
type struct node {
int data;  //数据域
struct node  *next;//指针域
} linklist;
linklist * linklist_create()  //创建表头函数
{
linklist *head =(linklist *)malloc(sizeof(linklist));
head-data=-1; //表头数据域 一般不使用初始化可有可无
head->next =NULL;// 表头指针域指向空,说明是一个空表
}

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: