无表头单链表的总结----删除节点
1 #include "head.h" 2 struct Student*del(struct Student*head,char num[N]) 3 { 4 struct Student*p1, *p2; 5 if (head == NULL) //若链表为空,则无需处理 6 { 7 printf("\nlist NULL!\n"); 8 return (head); 9 } 10 p2 = p1 = head; 11 while (strcmp(num, p1->nun) != 0 && p1->next != NULL)//重要!循环终止的条件是找到 12 //了要删除的节点或者搜寻到了最后一个节点 13 { 14 p2 = p1; //循环中若,没找到,则指针往后移一位 15 p1 = p1->next; 16 } 17 if (strcmp(num, p1->nun) == 0) //循环结束分两种情况,1是找到,找到也分两种情况 18 { 19 if (p1 == head) head = p1->next; //第一个节点就是我们要找到 20 else p2->next = p1->next; //除第一节点外的处理方式(包括末尾节点) 21 printf("delete:%s\n", p1->nun); 22 n--; //删除一个就要成员数减一个; 23 } 24 else printf("%s not been found!\n", num); //2,没找到怎完事 25 return head; 26 }
转载于:https://www.cnblogs.com/xinlovedai/p/6216253.html
无表头单链表的总结----删除节点相关推荐
- 无表头单链表增删改查操作
1.返回单链表中第pos个结点中的元素,若pos超出范围,则返回0 2.把单链表中第pos个结点的值修改为x的值,若修改成功返回1,否则返回0 3.向单链表的表头插入一个元素 4.向单链表的末尾添加一 ...
- 无表头单链表的总结----输出链表
#include"head.h" void print(struct Student* head) {struct Student *p;printf("There ar ...
- [LintCode] Delete Node in the Middle of Singly Linked List 在单链表的中间删除节点
Implement an algorithm to delete a node in the middle of a singly linked list, given only access to ...
- 删除单链表中的重复节点(c语言版本)
这是一道经典的面试题,下面是我的研究和举一反三,特整理如下: 分为三种情形: (1)删除有序链表的重复节点,重复节点一个都不留 (2)删除有序链表的重复节点,重复节点只留一个 (3)删除无序链表的重复 ...
- 用O(1)的时间复杂度删除单链表中的某个节点
用O(1)的时间复杂度删除单链表中的某个节点 给定链表的头指针和一个结点指针,在O(1)时间删除该结点.链表结点的定义如下: struct ListNode {int m_nKey;ListNode* ...
- 数据结构:在一个单链表中,若删除p指向节点的后继节点,则执行的操作为:( )
在一个单链表中,若删除p指向节点的后继节点,则执行的操作为:( ) A.q=p->next; p->next=p->next->next; free(q) B.p=p-> ...
- 删除单链表中的重复节点
删除单链表中的重复节点 一.题目描述 已知单链表L,写一算法,删除其中的重复节点.(更好的阅读体验,请访问程序员在旅途) 二.分析解答 2.1 知识点分析 本题主要考察链表的相关知识点,其中包括:单链 ...
- 顺序表和单链表的插入删除操作时间复杂度的区别
顺序表和单链表的插入删除操作时间复杂度的区别 最近在学习数据结构,看到如果需要用到大量的插入和删除操作,单链表的效率会高于顺序表.看到这里时内有有个疑惑,这两种数据结构的插入和删除操作的时间复杂度不都 ...
- 删除一个无头单链表的非尾节点(C语言)
void DelNotTailNode(PSListNode pos) {PSListNode pNode = NULL;assert(pos);if (NULL == pos->pNextNo ...
最新文章
- Swish激活 hswish激活
- 一文带你了解Spring核心接口Ordered的实现及应用
- 关于c语言的字符常量
- [CODE FESTIVAL 2016]Distance Pairs
- C# 2.0 除了泛型
- 【在线报表设计】提升报表外观的15个技巧
- c语言 通过sendarp 实现mac,C#通过SendARP()获取WinCE设备的Mac网卡物理地址
- codeforces 476B.Dreamoon and WiFi 解题报告
- 程序员|刚毕业,我该去小公司还是该去大公司
- 你们网贷逾期最长多少时间,你们怎么处理的
- 【Alpha】第七次Scrum meeting
- ​30 岁了,依然一事无成
- .\Flash\Blinky.axf: Error: L6200E: Symbol SysTick_Handler multiply defined (by hal_cm0.o and blinky.
- 双曲函数奇偶性_第二百一十二夜:高考押题-双曲函数的性质
- Ubuntu Install Zhengma
- 视频传输---传输协议的选择
- 数据库系统概论 第七章 数据库设计(1)特点,概述,设计方法,规范设计方法,新奥尔良方法,用户和数据库管理员,模式,外模式,概念模式,逻辑模式,内模式,需求分析,数据项,数据流,数据存储,处理过程
- visio流程图工具安装包的下载和安装教程
- 三星 android 刷机,三星安卓手机如何刷机 三星安卓手机刷机通用方法介绍【教程】...
- 2019年5月1日起安卓应用应基于API 26开发
热门文章
- Node.js实现Excel转JSON
- uvm_comps.svh
- 能拯救你的人也只能是自己
- windows XP上实现python2.7.5和python3.4.3共存
- IIS中WEB服务器的日志存放到SQL Server 2005中
- Charles 抓包 从入门到精通
- (android实战)Service 生命周期和使用注意项
- 定义一个 圆形 Circle类 , 定义其中的长度length属性,定义一个求面积getArea()的方法。 并编写一个测试类,进行长度的赋值和展示,并调用求面积方法展示面积值。
- Android中的拍照camera和camera2
- Oracle设置权限和还原数据库