标签:nbsp 空间 查找 单链表 .com 节点 link can 分享
首先引入头文件,定义结构体:
#include<stdio.h> #include<stdlib.h> #include<malloc.h> typedef int ElemType; //定义节点类型 typedef struct LNode { ElemType data; struct LNode *next; }LNode,*LinkList;
(1)、创建链表
头插法:链表的逻辑顺序与结点的插入顺序相反,即逆序。从一个空表开始,反复的读入数据,生成结点放到链表中,注意这里是插入到当前链表的表头之后,如下图:
创建方法如下:
//单链表的建立(头插法建立) LinkList CreateLinkList_H() { LNode *L; ElemType x; //申请头结点的空间 L=(LNode *)malloc(sizeof(LNode)); L->next=NULL; scanf("%d",&x); while(x!=-1) { LNode *p; p=(LNode *)malloc(sizeof(LNode));//申请新节点的空间 p->data=x; p->next=L->next; L->next=p; scanf("%d",&x); } return L; }
尾插法:线性表的逻辑顺序与节点的插入顺序相同,将新节点插入到当前链表的链尾上,为此必须加上一个尾指针指针p使其一直指向当前链表的尾结点。如图
创建方法如下:
//单链表的建立(尾插法建立) LinkList CreateLinkList_T() { LNode *L,*r,*p; ElemType x; L=(LNode *)malloc(sizeof(LNode)); L->next=NULL; r=L; scanf("%d",&x); while(x!=-1) { p=(LNode*)malloc(sizeof(LNode)); p->data=x; p->next=r->next; r->next=p; r=p; scanf("%d",&x); } r->next=NULL; return L; }
标签:nbsp 空间 查找 单链表 .com 节点 link can 分享
原文地址:http://www.cnblogs.com/helloworldcode/p/6688554.html