首页 > 编程语言 >C语言版数据结构算法(考研初试版—4)--链表删除操作

C语言版数据结构算法(考研初试版—4)--链表删除操作

时间:2024-11-04 19:16:19浏览次数:3  
标签:LinkList LNode 删除 -- next 链表 int C语言

删除链表中值为m的结点

(1)创建一个链表

(2)打印删除前的链表

(3)查找值为m的前一个结点

(4)执行删除操作

(5)打印删除后的链表

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

typedef struct LNode{
	int data;
	struct LNode * next;
}LNode,*LinkList;
//头插法 
LinkList CreateList_L(){
	//创建一个头节点
	LinkList L=(LinkList)malloc(sizeof(LNode));
	L->next=NULL; 
	int x;
	scanf("%d",&x);
	while(x!=9999){
		LinkList P=(LinkList)malloc(sizeof(LNode));
		P->data=x;
		P->next=L->next;
		L->next=P;
		scanf("%d",&x);
	}
	return L; //返回头节点 
}

//删除值为x的节点 
void delete_L(LinkList L,int x){
	LinkList p,q;
	p=L;
	while(p!=NULL){
		if(p->next->data==x){
			break;
		}
		p=p->next;
	}
	q=p->next;
	p->next=q->next;
	free(q);
}

void PrintList(LinkList L) {  
    LinkList p = L->next; 
    while (p != NULL) {  
        printf("%d -> ", p->data);  
        p = p->next;  
    }  
    printf("NULL\n");  
}  
  
int main() {  
    LinkList list1 = CreateList_L();  
    PrintList(list1); 
    int n;
    scanf("%d",&n);//输入你要删除的数字
    delete_L(list1, n); // 在链表中删除数字 n 
    PrintList(list1);  // 再次打印链表以查看删除结果  
    return 0;  
}

标签:LinkList,LNode,删除,--,next,链表,int,C语言
From: https://blog.csdn.net/m0_62989829/article/details/143490858

相关文章

  • (计算机数值分析)龙贝格算法C语言版
    #1024程序员节|征文#计算机数值分析课上作业。在讲完了复化梯形公式T,复化辛甫生公式S和科特斯公式C之后,观察他们的公式发现存在一个关系。即:(I-T2n)/I-Tn=1/4,(I-S2n)/(I-Sn)=1/16,(I-C2n)/(I-Cn)=1/64于是得到以下关系:Sn=3/4T2n-1/3Tn        ......
  • java计算机毕业设计程序课程在线练习系统(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着信息技术的飞速发展,程序课程在教育体系中的重要性日益凸显。如今,计算机技术已经渗透到各个领域,掌握程序知识成为了许多行业对人才的基本要求......
  • Leetcode—280. 摆动排序【中等】Plus
    2024每日刷题(199)Leetcode—280.摆动排序实现代码classSolution{public:voidwiggleSort(vector<int>&nums){//n[0]≤n[1]≥n[2]≤n[3]//奇数大于等于前面元素偶数小于等于前面元素//352164//35162......
  • java计算机毕业设计大学生学习交友平台(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着互联网技术的飞速发展,社交网络已经深入到人们生活的各个方面。大学生作为社会中活跃且具有强烈社交需求的群体,传统的交友方式已难以满足他们......
  • 一文彻底搞定Spring Security 认证,实现登陆登出功能
    SpringSecurity是一个强大且灵活的安全框架,提供了身份验证(认证)和授权(授权)功能。下面我们将详细介绍SpringSecurity的认证功能流程,并提供自定义实现登录接口的示例,包括自定义认证过滤器和登出功能。一、SpringSecurity认证流程的深入分析SpringSecurity的认证流程是多层......
  • 题解 P11231【[CSP-S 2024] 决斗】
    题目描述今天是小Q的生日,他得到了\(n\)张卡牌作为礼物。这些卡牌属于火爆的“决斗怪兽”,其中,第\(i\)张卡代表一只攻击力为\(r_i\),防御力也为\(r_i\)的怪兽。一场游戏分为若干回合。每回合,小Q会选择某只怪兽\(i\)以及另一只怪兽\(j(i\neqj)\),并让怪兽\(i\)向怪......
  • 题解 P11232【[CSP-S 2024] 超速检测】
    题目描述小D新入职了某国的交管部门,他的第一个任务是负责国家的一条长度为\(L\)的南北主干道的车辆超速检测。为了考考小D,上司首先需要他解决一个简化的场景。这个周末,主干道上预计出现\(n\)辆车,其中第\(i\)辆车从主干道上距离最南端\(d_i\)的位置驶入,以\(v_i\)的......
  • 题解 P11233【[CSP-S 2024] 染色】
    题目描述给定一个长度为\(n\)的正整数数组\(A\),其中所有数从左至右排成一排。你需要将\(A\)中的每个数染成红色或蓝色之一,然后按如下方式计算最终得分:设\(C\)为长度为\(n\)的整数数组,对于\(A\)中的每个数\(A_i\)(\(1\leqi\leqn\)):如果\(A_i\)左侧没有与其同......