线性表的删除

给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储,并且相对位置不能改变。

函数接口定义:

List Delete( List L, ElementType minD, ElementType maxD );

其中List结构定义如下:

typedef int Position;
typedef struct LNode *List;
struct LNode {ElementType Data[MAXSIZE];Position Last; /* 保存线性表中最后一个元素的位置 */
};

L是用户传入的一个线性表,其中ElementType元素可以通过>、==、<进行比较;minD和maxD分别为待删除元素的值域的下、上界。函数Delete应将Data[]中所有值大于minD而且小于maxD的元素删除,同时保证表中剩余元素保持顺序存储,并且相对位置不变,最后返回删除后的表。

裁判测试程序样例:

#include <stdio.h>#define MAXSIZE 20
typedef int ElementType;typedef int Position;
typedef struct LNode *List;
struct LNode {ElementType Data[MAXSIZE];Position Last; /* 保存线性表中最后一个元素的位置 */
};List ReadInput(); /* 裁判实现,细节不表。元素从下标0开始存储 */
void PrintList( List L ); /* 裁判实现,细节不表 */
List Delete( List L, ElementType minD, ElementType maxD );int main()
{List L;ElementType minD, maxD;int i;L = ReadInput();scanf("%d %d", &minD, &maxD);L = Delete( L, minD, maxD );PrintList( L );return 0;
}/* 你的代码将被嵌在这里 */

输入样例:

10
4 -8 2 12 1 5 9 3 3 10
0 4

输出样例:

4 -8 12 5 9 10

代码:

List Delete( List L, ElementType minD, ElementType maxD )
{int i,j=0;for(i=0;i<=L->Last;i++){if(L->Data[i]<=minD||L->Data[i]>=maxD){L->Data[j]=L->Data[i];j++;}}L->Last=j-1;return L;
}

就是遍历,定义一个j
满足条件的都按顺序存入数组

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/312509.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NetCore 3.1 安装本地化中文智能提示

A、平时在群里&#xff0c;很多小伙伴都会问&#xff0c;.net core的智能提示和注释都是英文的&#xff0c;如果英语水平不是很高的&#xff0c;看着是挺麻烦&#xff0c;所以经常需要在身边有一个翻译软件&#xff0c;如果有汉化的中文智能提示就好了&#xff08;当然&#xf…

6-7 求链表的倒数第m个元素 (25 分)

请设计时间和空间上都尽可能高效的算法&#xff0c;在不改变链表的前提下&#xff0c;求链式存储的线性表的倒数第m&#xff08;>0&#xff09;个元素。 函数接口定义&#xff1a; ElementType Find( List L, int m );其中List结构定义如下&#xff1a; typedef struct No…

asp.net core 3.x Endpoint终结点路由1-基本介绍和使用

前言我是从.net 4.5直接跳到.net core 3.x的&#xff0c;感觉asp.net这套东西最初是从4.5中的owin形成的。目前官方文档重点是讲路由&#xff0c;没有特别说明与传统路由的区别&#xff0c;本篇主要介绍终结点路由的相关概念和如何使用&#xff0c;不会详细介绍路由&#xff0c…

共享后缀的链表

有一种存储英文单词的方法&#xff0c;是把单词的所有字母串在一个单链表上。为了节省一点空间&#xff0c;如果有两个单词有同样的后缀&#xff0c;就让它们共享这个后缀。下图给出了单词“loading”和“being”的存储形式。本题要求你找出两个链表的公共后缀。 函数接口定义&…

C#反射与特性(一):反射基础

1. 说明1.1 关于反射、特性在 《C# 7.0 本质论》中&#xff0c;关于这方面的知识在 《第十八章 反射、特性和动态编程》&#xff1b;在《C# 7.0 核心技术指南》中&#xff0c;这部分内容在《第19章 反射和元数据》。[图片来自 《C# 7.0 本质论》]在这里我们可以获得一些关联性很…

数据结构基础概念、逻辑结构、物理结构

数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。也就是说&#xff0c;数组结构指的是数据集合及数据之间关系的集合&#xff0c;是两个集合。 数据&#xff1a;是描述客观事物的符号&#xff0c;是计算机中可以操作的对象&#…

收藏!推荐12个超实用的Visual Studio插件

工欲善其事&#xff0c;必先利其器,整理的一些我必装的12款Visual Studio插件&#xff0c;希望你们能get到。效率工具前文传送门&#xff1a;推荐&#xff1a;程序员必装的10款谷歌插件程序员必备的8个学习工具99%的人不知道搜索引擎的6个技巧01 CodeMaidCodeMaid快速整理代码文…

数据结构选择题(c语言)

1.若有char w; int x; float y; double z; 则表达式w*xz-y值的数据类型为&#xff08; &#xff09;。 (2分) A.float B.char C.int D.double D 解析&#xff1a; 整形和浮点型计算&#xff0c;结果为浮点型&#xff1b;单精度和双精度计算&#xff0c;结果为双精度 因为在计算…

搭建独立博客,这款评论插件不能错过

微信公众号因为申请的时间晚&#xff0c;一直到现在都无法开通评论功能&#xff0c;之前博客一直使用的多说作为评论系统&#xff0c;自从多说关闭后&#xff0c;好多年都处于无评论状态&#xff0c;最近发现 gitalk 还不错&#xff0c;所以在博客中进行了对 gitalk 的集成&…

最大堆和最小堆(数据结构)

堆和栈的区别&#xff1a; 一、空间分配区别&#xff1a; 栈&#xff08;操作系统&#xff09;&#xff1a;由操作系统自动分配释放&#xff0c;存放函数的参考值&#xff0c;局部变量的值等。其操作方式类似于数据结构中的栈堆&#xff08;操作系统&#xff09;&#xff1a;一…

2019公众号总结之——Top100 技术文章汇总

大家好&#xff0c;我是张善友。新年伊始&#xff0c;我们在欢送10年代的同时迎来了20年代。在这个崭新的时代&#xff0c;感谢各位朋友一直关注“dotnet跨平台”。一晃5年有余&#xff0c;关注公众号的粉丝6万&#xff0c;相对于.NET开发人员&#xff0c;希望2020年有更多小伙…

树,森林,二叉树的互相转换

树、森林到二叉树的转换 将树转换为二叉树 树中每个结点最多只有一个最左边的孩子&#xff08;长子&#xff09;和一个右邻的兄弟。按照这种关系很自然地就将树转换成相应的二叉树&#xff1a; 在所有兄弟结点之间加一连线对每个结点&#xff0c;除了保留与其长子的连线外&am…

数据丢失引起宕机怎么办?

做过系统开发和运维的朋友&#xff0c;应该最怕数据丢失问题出现&#xff0c;更严重的是造成无法恢复的糟糕境地&#xff0c;简直叫人崩溃啊&#xff0c;这周有一个朋友跟我咨询这方面的事情&#xff0c;就整理了一下数据库自动异地备份的方法&#xff0c;分享给大家。大家都知…

python字典(Dict)

字典的创建 字典的访问&#xff08;List转换&#xff09; 字典的遍历 字典的添加 字典的合并 字典的删除&#xff08;清空&#xff09; 字典的其他操作 字符串转字典&#xff08;eval&#xff09; 字典的创建 dict1{"A":1,"B":2,"C":99} //直接…

ASP.NET Core跨平台技术内幕

ASP.NET Core设计初衷是开源跨平台、高性能Web服务器&#xff0c;其中跨平台特性较早期ASP.NET是一个显著的飞跃&#xff0c;.NET现可以理直气壮与JAVA同台竞技&#xff0c;而ASP.NET Core的高性能特性更是成为致胜法宝。ASP.NET Core 2.1为IIS托管新增In-Process模型并作为默认…

6-23 分离链接法的删除操作函数 (20 分)

试实现分离链接法的删除操作函数。 函数接口定义&#xff1a; bool Delete( HashTable H, ElementType Key );其中HashTable是分离链接散列表&#xff0c;定义如下&#xff1a; typedef struct LNode *PtrToLNode; struct LNode {ElementType Data;PtrToLNode Next; }; typed…

使用 Visual Studio Code 进行远程开发

在完成了 AT 指令入门的学习之后&#xff0c;接下来就要使用 AT 指令进行 Socket 通信了。问题在于&#xff0c;之前 .NET 的 Socket 编程只需一台电脑便可进行学习&#xff0c;服务器和客户端都可以在本机运行&#xff0c;也可以分别运行在局域网上的两台电脑之上。而 NB-IOT …

AI人工智能

1&#xff0c;为什么要对特征做归一化&#xff1f; 2&#xff0c;什么是组合特征&#xff1f;如何处理高维组合特征&#xff1f; 3&#xff0c;请比较欧式距离与曼哈顿距离&#xff1f; 4&#xff0c;为什么一些场景中使用余弦相似度而不是欧式距离&#xff1f; 5&#xff0c;O…

python练习题

一、 请编写程序&#xff0c;使得能够计算以下算术运算并打印结果&#xff1a;9的3次方 print(9**3)二、 给你一个整数&#xff0c;代表Tom的妈妈买的书本的数量&#xff0c;输出一段英文&#xff0c;能完整表述Tom的妈妈买了几本书。本题考查字符串的组合、数据类型的变换、变…

.NETCore3.1中的Json互操作最全解读-收藏级

前言本文比较长&#xff0c;我建议大家先点赞、收藏后慢慢阅读&#xff0c;点赞再看&#xff0c;形成习惯&#xff01;我很高兴,.NETCore终于来到了3.1LTS版本&#xff0c;并且将支持3年&#xff0c;我们也准备让部分业务迁移到3.1上面&#xff0c;不过很快我们就遇到了新的问题…