标签: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