头插法新建链表

新建链表指针结构体

typedef int ElemType;
typedef struct LNode{
	ElemType data;
	struct LNode* next;//指向下一个结点
}LNode,*LinkList;//结构体名   

LNode==* LinkList;LNode * ==LinkList

头插法新建链表

先建立一个头结点:

L = (LinkList)malloc(sizeof(LNode));//带头结点的链表 L->next = NULL;
malloc格式:变量名=(该变量名的数据类型)malloc(分配空间)

接着新建一个结点:

LNode* s;//结点指针 int x//结点存储的数据;

输入一个新链表:

scanf("%d", &x);//读取数据 插入链表的第一个数据

while (x != -1)   //  -1标志输入结束
{
	s = (LNode*)malloc(sizeof(LNode));//每次都重新对s初始化,强制类型转换
	s->data = x;//把读取到的值,给新空间中的 data 成员
	s->next = L->next;//让新结点的 next 指向链表的第一个元素 第一个放我们数据的元素
	L->next = s;// s 作为第一个元素
	scanf("%d", &x);//从标准输人读取数据	
}

头插法完整代码

//头插法新建链表
LinkList list_head_insert(LinkList& L)
{
	L = (LinkList)malloc(sizeof(LNode));
	L->next = NULL;//L->data 里边没放东西
	LNode* s; 
	int x;
	
	scanf("%d", &x);//读取数据	
	while (x != -1)//-1标志输入结束
	{
		s = (LNode*)malloc(sizeof(LNode));//申请一个新空间给 s,强制类型转换
		s->data = x;//把读取到的值,给新空间中的 data 成员
		s->next = L->next;//让新结点的 next 指指向链表的第一个元素 第一个放我们数据的元素
		L->next = s;//t s 作为第一个元素
		scanf("%d", &x);//从标准输人读取数据	
	}
	return L;
}

所有代码

#include <stdio.h>
#include <stdlib.h>

typedef int ElemType;
typedef struct LNode{
	ElemType data;
	struct LNode* next;//指向下一个结点
}LNode,*LinkList;//结构体名    LNode==*LinkList;LNode*==LinkList
 
//头插法新建链表
LinkList list_head_insert(LinkList& L)
{
	L = (LinkList)malloc(sizeof(LNode));//带头结点的链表   malloc格式:变量名=(该变量名的数据类型)malloc(分配空间)
	L->next = NULL;//L->data 里边没放东西

	LNode* s; 
	int x;
	//1 2 3 4 5 6 7 -1
	scanf("%d", &x);//从标准输人读取数据	
	while (x != -1)
	{
		s = (LNode*)malloc(sizeof(LNode));//申请一个新空间给 s,强制类型转换
		s->data = x;//把读取到的值,给新空间中的 data 成员
		s->next = L->next;//让新结点的 next 指指向链表的第一个元素 第一个放我们数据的元素
		L->next = s;//t s 作为第一个元素
		scanf("%d", &x);//从标准输人读取数据	
	}
	return L;
}
//打印链表中每个结点的值
void print_list(LinkList L)
{
	L = L->next;
	while (L != NULL)//NULL 是为了代表一张空的藏宝图
	{
		printf("%3d", L->data);//印当前结点数据
		L = L->next;//指向下一个结点
	}
		printf("\n");
}

int main()
{
	LinkList L,l;//链表义,是结构体指针类型
	list_head_insert(L);//输人数据可以为3456 79999,插法新建链表
	print_list(L);//链表印

	return 0;
}

posted on 2024-05-06 16:35  Destiny9521  阅读(52)  评论(0)    收藏  举报

导航