栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

带表头单链表(c语言函数部分)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

带表头单链表(c语言函数部分)

细节问题并未处理,如判断表是否为空,代码段均为主要部分;初学阶段,低级错误在所难免,水平有限,仅供参考,欢迎指正.

一.结点结构

1.思路:数据域,指针域;

2.代码实现:

typedef struct LNode{
	int x;
	struct LNode* Next;
}list; 

二.创建空表

1.思路:创建一个头指针,让头指针的指针域为NULL,返回头指针地址;

2.代码实现:

list *CreatList()
{	

	list *head=(list*)malloc(sizeof(list));
	if(head==NULL){
		printf("申请内存空间失败"); 
	}else{ 
	head->Next=NULL;
} 
	return head;
 } 

三.尾部插入

1.思路:遍历找到表尾结点(表头结点不能移动,需定义临时指针变量来遍历),让表尾结点指针域指向新结点;

2.代码实现:

list *AddL (int x,list *head)
{	//找到尾部; 
	list *temp=head;
	while(temp->Next!=NULL){
		temp=temp->Next;
	}
	//赋值插入;
	list *newL=(list *)malloc(sizeof(list));
	newL->Next=NULL;
	newL->x=x;
	temp->Next=newL; 
	
	return head;
 } 

四.指定位置插入

1.思路:遍历链表,找到先驱结点,先让新结点指向后继结点,再让先驱结点指向新结点;

2.代码实现:

list* AddList2 (int i,int x,list *head)
{
	int temi=0;
	list *pre=head;
	for(temi=1;temiNext;
	}
	list *newL=(list*)malloc(sizeof(list));
	newL->Next=pre->Next;
	newL->x=x;
	pre->Next=newL;
	return head; 
} 

五.修改结点

1.思路:遍历链表,找到指定结点,修改数据域;

2.代码实现:

list *ReviseList(int i,int x,list*head)
{
	int temi=0;
	list*p=head;
	for(temi=0;temiNext;
	}
	p->x=x;
	return head;
} 

六.删除结点

1.思路:遍历链表,找到待删结点的前驱结点,让其指向待删结点的后驱结点,释放空间;

2.代码实现:

list *DeleteList(int i,list* head)
{
	list *pre=head;
	int temi=0;
	for(temi=1;temiNext;
	}
	list *p=pre->Next;
	pre->Next=pre->Next->Next;
	free(p);
	return head;
} 

七.打印单链表

1.思路:遍历;

2.代码实现:

void  PrintL(list *head)
{	
	if(head->Next==NULL){
		printf("Empty");
	
	}
	else{
		list *temp=head->Next;
		while(temp!=NULL){
			printf("%dt",temp->x);
			temp=temp->Next;
		}
	}
	
}

八.两极反转

1.思路:创建一个临时头指针,遍历一个新结点,使头指针指向该节结点,遍历指针移向下一个,被取结点指针域指向上一个被取结点,保留本轮所取结点,循环;

2.代码实现:

list *ReverseList (list *head)
{
	list*temp=head->Next;
	list *ReverseHead;
	list *next=NULL;
	while(temp!=NULL){
		ReverseHead=temp;
		temp=temp->Next; 
		ReverseHead->Next=next;
		next=ReverseHead;
	}
	head->Next=ReverseHead;
} 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/352520.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号