首页 > 游戏数码 > 电脑 > C语言版数据结构:[2]链表的建立。

C语言版数据结构:[2]链表的建立。

   来源:秒知站    阅读: 2.53W 次
字号:

用手机扫描二维码 在手机上继续观看

手机查看

链表其实是线性表的链接存储方式,这种方式下的存储单元可以是连续的,也可以是不连续的。这里我们主要讨论链表的尾插法,头插法和尾插法基本类似。坐标为您分享。

操作方法

(01)一、链表的建立分为带头结点的头插法和带头结点的尾插法,第一种方法插入顺序和输出顺序是相反的。第二种方法插入顺序和输出顺序是一致的。这里我们主要介绍尾插法,头插法基本类似。

C语言版数据结构:[2]链表的建立。

(02)二、首先对头文件、数据结构、链表结点结构等进行声明。

(03)#include <stdio.h>#include <stdlib.h>#define null 0typedef struct snode{char *name;char *no;int score[5];}typedefdata;typedef struct node{typedefdata data;struct node *next;}linklist;

(04)三、首先介绍带头文件的尾插法建立链表。/*尾插法建立带头结点的单链表*/linklist *insert_new(){char flag;int x;char *na;char *num;int grade[5];linklist *head,*rear,*p;head = (struct node*)malloc(sizeof(linklist));//头节点的空间分配rear = head;//头尾相连进行初始化dowhile(flag != 'q');rear->next = null;return (head);}/*尾插法建立带头结点的单链表*/

C语言版数据结构:[2]链表的建立。 第2张

(05)四、头插法建立链表。头插法其实与尾插法的最大不同是每次新增的节点都是从head处添加,需要修改的就是for(x=0;x<5;x++)p->e[x] = grade[x];p->next = head->next;head->next = p;printf("nn continue?q for quit!");

(06)五、主函数的编写。int main(){insert_new();return 0;}

C语言版数据结构:[2]链表的建立。 第3张

(07)六、测试我们只测试尾插法。

C语言版数据结构:[2]链表的建立。 第4张
C语言版数据结构:[2]链表的建立。 第5张
C语言版数据结构:[2]链表的建立。 第6张

特别提示

链表的建立并不复杂,需要注意的是内存申请的语句形式p = (struct node*)malloc(sizeof(linklist));

电脑网络
IT技术
互联网
电脑
摄影
手机
游戏