C语言数据结构的链表的各项基本操作(完美运行!)

每一个点开我的文章的小伙伴大家好!

在发这篇文章的时候,我是一名大一的学生,我将在博客记载我的学习之路!

这是我的第五篇博客文章,是关于C语言数据结构的链表的各项基本操作。

写这篇文章的时候,我正在备考数据结构期末考试,所以在复习到链表这一个章节时把我复习的内容发上个人博客,希望各位在复习的小伙伴能参考参考。

这次的打代码时间比较紧,所以注释写的并不清晰。在这里给每一位点开我文章的小伙伴说

声不好意思,如果你们对代码有疑问,可以私信我,我会给出解释!

我个人觉得排序那个部分可能有点难以理解 (写排序算法比较初级)

接下来我会把各个操作给分解 文章末尾附上源码(Visual Studio2022完美运行)!

先给小伙伴们看一下页面:

页面的功能其实可以很多样,我这里只列出了其中的一部分,大家可以试着利用我发上来的子函数去搭配出一些新的功能,比如说:删除头插法建立的链表的相同结点

一、首先是代码开头的各种定义:

#define _CRT_SECURE_NO_WARNINGS   //加上这个,我们就不用scanf_s,可以用scanf了
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct node //单链表结构体定义
{
	int data;
	struct node* next;
}Node;

 二、接着是头插法、尾插法建立单链表

void Creat_Head(Node* L)  //头插法
{
	Node* p;
	int i = 1;
	printf("以头插法建立单链表\n");
	printf("当输入 0 时结束\n");
	while (1)
	{
		printf("输入第%d个元素:\n", i);
		i++;
		p = (Node*)malloc(sizeof(Node));
		scanf("%d", &p->data);
		if (p->data == 0)  break;
		else {
			p->next = L->next;
			L->next = p;
		}
	}
}

void Creat_Tail(Node* L)  //尾插法
{
	Node* p,*q;
	q = L;
	int i = 1;
	printf("以尾插法建立单链表\n");
	printf("当输入 0 时结束\n");
	while(1)
	{
		printf("输入第%d个元素:\n
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值