链表是一种常见的基础数据结构c语言结构体详解指针在这里得到了充分的利用。链表可以动态的进行存储分配也就是说,链表是一个功能极为强大的数组他可以在節点中定义多种数据类型,还可以根据需要随意增添删除,插入节点链表都有一个头指针,一般以head来表示存放的是一个地址。链表Φ的节点分为两类头结点和一般节点,头结点是没有数据域的链表中每个节点都分为两部分,一个数据域一个是指针域。说到这里伱应该就明白了链表就如同车链子一样,head指向第一个元素:第一个元素又指向第二个元素;……直到最后一个元素,该元素不再指向其它元素它称为“表尾”,它的地址部分放一个“NULL”(表示“空地址”)链表到此结束。
作为有强大功能的链表对他的操作当然有許多,比如:链表的创建修改,删除插入,输出排序,反序清空链表的元素,求链表的长度等等
初学链表,一般从单向链表开始
一般创建链表我们都用typedef struct因为这样定义c语言结构体详解变量时,我们就可以直接可以用LinkList *a;定义c语言结构体详解类型变量了
修改链表节点徝很简单。下面是一个传入链表和要修改的节点来修改值的函数。
删除链表的元素也就是把前节点的指针域越过要删除的节点指向下下個节点即:p->next = q->next;然后放出q节点的空间,即free(q);
我们可以看出来插入节点就是用插入前节点的指针域链接上插入节点的数据域,再把插入节点的指针域链接上插入后节点的数据域根据图,插入节点也就是:e->next = head->next; head->next = e;
增加链表节点用到了两个c语言结构体详解指针和一个int数据
输出链表很简單,边遍历边输出就行了