设计一个算法,删除一个单链表L中元素值最大的结点(假设最大值结点是唯一的)
设计一个算法,删除一个单链表L中元素值最大的结点(假设最大值结点是唯一的)。
#include <stdio.h>
#include<malloc.h>
typedef struct Node
{int data;struct Node *next;
}LinkList;
void InitList(LinkList*& L)
{L = (LinkList*)malloc(sizeof(LinkList));L->next = NULL;
}
void CreateListTail(LinkList *&L, int n)
{LinkList *p, *r;int i,t;L = (LinkList*)malloc(sizeof(Node));r = L;for (i = 0; i < n; i++){p = (LinkList*)malloc(sizeof(Node));scanf_s("%d", &t);p->data = t;r->next = p;r = r->next;}r->next = NULL;
}
void ListDelete(LinkList *&L)
{LinkList *p,*q,*maxp,*maxq;p = L->next; //p=头结点的后一个结点q = L; //Node q=头结点maxp = p;maxq = q;while (p!=NULL){if (maxp->data < p->data){maxp = p;maxq = q;}q = p;p = p->next;}maxq->next = maxp->next;free(maxp);
}
void Print(LinkList *L)
{LinkList* p = L->next;while (p != NULL){printf("%d ", p->data);p = p->next;}printf("\n");
}
int main()
{int n;LinkList *L;scanf_s("%d", &n);InitList(L);CreateListTail(L, n);ListDelete(L);Print(L);return 0;
}
设计一个算法,删除一个单链表L中元素值最大的结点(假设最大值结点是唯一的)相关推荐
- 王道数据结构2.2.4——1、设计递归算法删除不带头结点的单链表L中所有值为x的结点
思路 递归包含三个部分:出口.调用本身.删除操作. 代码 void del_x(LinkList &L,ElemType x){LNode *p;if(L==NULL){return;}if( ...
- 单链表-删除单链表L中奇数号节点(双指针法)
题意: 有一个带头节点的单链表L,设计一个算法,删除其中第1,3,5,7号-节点,即删除奇数号的节点. 单链表的存储结构: typedef struct LinkList{int data;LinkL ...
- 已知带头结点的动态单链表L中的结点是按整数值递增排列的,试写一算法将值x为的结点插入到表L中,使L仍然有序。
创建链表,main函数中通过while循环找出该插入的位置,插入.应注意L头节点位置的变化,利用一个ptr来记录L的头节点. /*已知带头结点的动态单链表L中的结点是按整数值递增排列的,试写一算法将值 ...
- 单链表-在带头结点的单链表L中删除一个最小值结点(四指针)
单链表的存储结构: typedef struct LinkList{int data;LinkList * next;} 分析: 要删除一个链表的最小值节点,首先想到的是肯定是要定义两个指针,但是 , ...
- 单链表-删除单链表L中第一个值为x的结点(双指针法)
单链表的存储结构: typedef struct LinkList{int data;LinkList * next;} 分析: 如果我们用一个指针p ,指向要删除的结点, 要删除第一个还好,可以删, ...
- 单链表-删除单链表L中第一个值为x的结点的前驱结点(三指针法)
单链表的存储结构: typedef struct LinkList{int data;LinkList * next;} 分析: 首先,我们要删除第一个值为x结点的前驱结点,则该链表要包含两个及以上结 ...
- 判断单链表L是否递增
设计一个算法,判断单链表L是否是递增的.实现这个算法,并完成测试. head.h #ifndef HEAD_H_INCLUDED #define HEAD_H_INCLUDED #include &l ...
- c语言单链表递增排序,单链表 基本操作(元素递增排序)
题目描述: 有一个带头节点的单链表L(至少有一个数据节点),设计一个算法使其元素递增有序排列. 解题思路: 由于单链表L中有一个以上的数据节点,首先构造一个只含有头结点和首节点的有序单链表(只含有一个 ...
- 数据结构:假设有一个带头结点的单链表L,每个结点值由单个数字、小写字母和大写字母构成。设计一个算法将其拆分成3个带头结点的单链表L1、L2和L3,L1包含L中的所有数字结点,L2包含L中的所有小写字母
假设有一个带头结点的单链表L,每个结点值由单个数字.小写字母和大写字母构成.设计一个算法将其拆分成3个带头结点的单链表L1.L2和L3,L1包含L中的所有数字结点,L2包含L中的所有小写字母结点,L3 ...
最新文章
- (C++)从本机获取WMI数据.
- 消控中心人员配置_建筑能耗监测系统集中化运行管理模式和人员配置!
- vim 同一行内单字符搜索跳转(笔记)
- java程序设计_80后程序员,带你深入理解Java基本的程序设计结构,不来你别后悔...
- Java Bootstrap:Dropwizard与Spring Boot
- shopxo二次开发:底部导航VS顶部导航 (统一性问题)
- Python入门--字符串的分割操作,split,rsplit
- PLSQL提示动态执行表不可访问,本会话的自动统计被禁止问题的解决
- 计算机中丢失d3dx9 31,d3dx9_31.dll
- 安全架构--14--企业安全管理体系建设总结
- 基于51单片机的pid算法温度控制系统protues仿真
- 键盘输入123456789c语言,Python:键盘输入input
- python判断正数和负数教案_正数和负数的教案设计
- C++运动会分数统计系统
- 用ExtentReports美化你的测试报告
- 20211212做实验时的感想
- 辩证法中包括一个关系、两大特征、三大规律、四种方法、五对范畴
- [2017BUAA软工]第0次个人作业
- 谷歌眼镜Mirror API开发指南之Timeline
- 7层每次有哪些最基本的协议讲解
热门文章
- 复习:线性表——顺序表
- dell t40 固态系统盘_天元戴尔(DELL)T40配置教程
- linux 磁盘监控,9个在Linux中监视Linux磁盘分区和用法的工具
- dbforge studio for oracle 注册,dbForge Studio for Oracle
- 2020即将过去,数据库最好的时代已经到来!
- Oracle 18c 新特性:动态 Container Map 增强 Application Container 灵活性
- SmartCommit让复合提交不在是难题
- 【万字长文】探讨可信构架之道
- 高性能Web动画和渲染原理系列(4)“Compositor-Pipeline演讲PPT”学习摘要【华为云技术分享】
- js学习 字符串常用方法