删除顺序表L中下标为p(0<=p<=length-1)的元素,成功返回1,不成功返回0,并将删除元素的值赋给e
原创:转载请注明出处。
【天勤2-2】删除顺序表L中下标为p(0<=p<=length-1)的元素,成功返回1,不成功返回0,并将删除元素的值赋给e
代码:
- //删除顺序表L中下标为p(0<=p<=length-1)的元素,
- //成功返回1,不成功返回0,并将删除元素的值赋给e
- #include<stdio.h>
- #include<cstring>
- #define MaxSize 200
- #define ElemType int
- #define Status int
- #define OK 1
- #define ERROR 0
- using namespace std;
- typedef struct
- {
- ElemType data[MaxSize];
- int length;
- } SqList; //定义结构体
- Status initList(SqList *L)
- {
- L->length = ;
- return ;
- }//初始化顺序表
- SqList createList(SqList * L, int n)
- {
- int startNumber, step;
- printf("请输入初始值和步长:\n");
- scanf("%d %d", &startNumber, &step);
- for(int i=; i<n; i++)
- {
- L->data[i] = startNumber + (i)*step;
- }
- L->length = n;
- return *L;
- }//建造顺序表
- void showList(SqList *L)
- {
- for(int i=; i<=L->length-; i++)
- {
- printf("%d ", L->data[i]);
- }
- printf("\n\n\n");
- }//屏幕输出顺序表
- bool deleteElem(SqList *L, int p, int &e){
- if(p > L->length-)return ;
- if(p < )return ;
- else{
- e=L->data[p];//把e赋过去
- for(int i=p; i < L->length-; i++){
- L->data[i] = L->data[i+];
- }
- L->length--;
- return ;
- }
- }
- int main()
- {
- SqList L;
- initList(&L);
- int n;
- printf("输入顺序表的元素个数:\n");
- scanf("%d",&n);
- createList(&L,n);
- showList(&L);
- printf("输入准备删除元素的下标:\n");
- int p;
- ElemType e;
- scanf("%d", &p);
- deleteElem(&L, p, e);
- showList(&L);
- printf("e的值为%d.\n", e);
- return ;
- }
结果如下:
删除顺序表L中下标为p(0<=p<=length-1)的元素,成功返回1,不成功返回0,并将删除元素的值赋给e的更多相关文章
- C++中如何建立一个顺序表
准备数据 #define MAXLEN 100 //定义顺序表的最大长度 struct DATA { char key[10]; //结点的关键字 char name[20]; int age; }; ...
- c语言数据结构,你可能还不知道的顺序表
数据结构顺序表 顺序表定义 1,前言 线性表的顺序存储又称为顺序表.它是用一组地址连续的存储单元依次存储线性表中的数据元素,从而使得逻辑上相邻的两个元素在物理位置上也相邻.其最大的特点就是:元素的逻辑 ...
- 数据结构C语言版--动态顺序表的基本功能实现(二)
/* * 若各个方法结构体变量参数为: &L(即地址符加变量)则结构体变量访问结构成员变量时使用"." * 若为:*L(即取地址符加变量)则结构体变量访问结构体成员变量使用 ...
- 【数据结构】线性表&&顺序表详解和代码实例
喜欢的话可以扫码关注我们的公众号哦,更多精彩尽在微信公众号[程序猿声] 01 预备知识 1.0 什么是线性表? 线性表(List)是零个或者多个数据元素的有限序列. 首先它是一个序列.里面的元素是有顺 ...
- 【数据结构】之顺序表(C语言描述)
顺序表是线性表的一种,它将元素存储在一段连续的内存空间中,表中的任意元素都可以通过下标快速的获取到,因此,顺序表适合查询操作频繁的场景,而不适合增删操作频繁的场景. 下面是使用 C语言 编写的顺序表的 ...
- 数据结构实验1:C++实现静态顺序表类
写了3个多小时,还是太慢了.太菜了! 图1 程序运行演示截图1 实验1 1.1 实验目的 熟练掌握线性表的顺序存储结构. 熟练掌握顺序表的有关算法设计. 根据具体问题的需要,设计出合理的表示数据的顺序 ...
- C++顺序表(模板总结)
C++顺序表(模板总结) 总结: 1.模板类的实质是什么:让程序员写出和类型无关的代码 2.模板的对象时什么:方法或者类 3.是对类中的一系列操作,提供一个不固定数据类型的方法 用模板做的类的时候要指 ...
- 顺序表的C语言实现
在现实应用中,有两种实现线性表数据元素存储功能的方法,分别是顺序存储结构和链式存储结构.顺序表操作是最简单的操作线性表的方法.下面的代码实现了顺序表的几种简单的操作.代码如下 //start from ...
- 数据结构 - 顺序表 C++ 实现
顺序表 此处实现的顺序表为**第一个位置为 data[0] **的顺序表 顺序表的定义为 const int MAX = 50; typedef int ElemType; typedef struc ...
随机推荐
- vs-code 的常用插件
最近编辑器转移至VS-Code上面了,为什么抛弃sublime呢,因为,sublime在项目逐渐变大的过程中(项目已上万行,还在不停继续变大),sublime会出现卡顿,反应缓慢,甚至未响应状态,基于 ...
- Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (16944839 > 16777216). You can change this value on the server by setting the max_allowed_packet' variable.
今天发现task微服务的error日志报如下错误: Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large ...
- vue学习(4)-组件的创建,父子组件传值,$refs
模块化:代码逻辑 组件化:UI 组件的创建:1.
- MVC模板页使用
这里我们要做一个公共的模板,样式如下: 内容 ·asp.net mvc如何创建模板??1.在/Views/Shared/中右键-添加-视图 2.重命名为”HeadLayout”,勾选”创建为分部视图” ...
- SAP官方发布的ABAP编程规范
最近有朋友在公众号后台给我留言,"Jerry啊,你最近写的都是一些SAP研究院里面用到的新技术,能不能写点SAP传统的开发技术比如ABAP相关的东西"? 其实Jerry在刚开始写这 ...
- Signal Processing and Pattern Recognition in Vision_15_RANSAC:Random Sample Consensus——1981
此部分是 计算机视觉中的信号处理与模式识别 与其说是讲述,不如说是一些经典文章的罗列以及自己的简单点评.与前一个版本不同的是,这次把所有的文章按类别归了类,并且增加了很多文献.分类的时候并没有按照传统 ...
- 12_Azkaban案例实践5_Command操作Hive脚本任务
HIVE脚本任务 hadoop fs -mkdir -p /aztest/hiveinput hadoop fs -put az.data /aztest/hiveinput/ l 创建job描述文件 ...
- 关于zsh在使用scp时报错zsh: no matches found: scp
root@banxia:scp root@172.16.13.150:/123/* . zsh: no matches found: root@172.16.13.150:/123/* root@ba ...
- idou老师教你学Istio06: 如何用istio实现流量迁移
流量迁移是流量管理的一个重要功能.istio提供的流量管理功能将流量从基础设施扩展中解耦,支持动态请求路由,故障注入.超时重试.熔断和流量迁移等.流量迁移的主要目的是将流量从微服务的某一版本的逐步迁移 ...
- zend studio 13.6.1中文乱码的解决办法
进入窗口--->首选项--->常规--->工作空间 window=>preference=>General=>workspace 照图设置后重启软件即可