上海集团网站建设公司好,电子商务网站建设规划书范文,加盟类网站怎么做,建设商业网站的功能定位用途#xff1a; 链表是一种用于计算机中存储与组织数据的结构#xff0c;链表将数据以节点的形式串联起来#xff0c;其存储的容量大小可以动态伸缩。 结构#xff1a;
typedef struct {int data; /*当前节点的数据*/node *next;/*下一个节点的指针*/node *last;/*上一个…用途 链表是一种用于计算机中存储与组织数据的结构链表将数据以节点的形式串联起来其存储的容量大小可以动态伸缩。 结构
typedef struct {int data; /*当前节点的数据*/node *next;/*下一个节点的指针*/node *last;/*上一个节点的指针*/
} list_node_t 分类 仅指向下一个节点称之为单向链表Singly Linked Lists 【node0】-【node1】-NULL 同时指向上一个节点为双向链表Double Linked Lists NULL-【node0】【node1】-NULL 尾节点下一个节点指向头节点形成闭环为循环列表Circular Linked Lists 只要知道表中任何一个结点的地址就可以遍历表中其他任一结点。适用于需要进行大量增添和删除元素操作而对访问元素无要求的及预先无法确定大小的数据集合。 【node0】→【node1】 →【node0】 特点 不限制存储空间每次新增数据时才申请存储空间不会造成浪费也不会空间不足。顺序存储的数组大小一旦定义了就不能改变但是链式存储的链表可以随时增减链表里面元素的数量。 添加数据与删除数据的操作时间复杂度都是 O1。链表里面插入和删除元素速率高你不需要移动里面很多的元素就可以做到。 不能按照序号对数据进行随机访问。数组可以通过下标获得任意一个位置的元素链表必须迭代找到某一个元素。 常规操作 初始化 链表初始化就是创建一个节点这个接口叫做 head;
linked_list init_linked_list()
{node * n (node*)malloc(sizeof(node));if(nNULL){printf(申请空间失败);exit(1);} n-nextNULL;return n;
}node *headinit_linked_list();
head-data3;//实际数据
head-nexthead;//只有循环列表需要指向head新增与插入数据 遍历与搜索数据 释放与清空链表