对长度为n的顺序表L,编写一个时间复杂度为O(n)、空间复杂度为O(1)的算法,该算法删除线性表中所有值为x的数据元素。_本关任务:对长度为n的顺序表l,编写一个时间复杂度为o(n),空间复杂度为o(1),该算法-程序员宅基地

技术标签: 数据结构  

//删除顺序表中所有值为x的元素
#include <stdio.h>
#define MaxSize 50
typedef struct {
    
	int data[MaxSize];
	int length;
}SqList; 

void del_x_1(SqList &L,int x) {
    
	int k = 0; //记录值不等于x的元素个数
	for(int i = 0; i < L.length; i++)    //若L.data[i] = x 则不进入循环直接i++ 
		if(L.data[i] != x){
    
			L.data[k] = L.data[i];
			k++;             //不等于x的元素个数加1 
		} 
		
	L.length = k;           //顺序表L的长度等于k 
} 
int main() {
    
	SqList L;
	L.length = 0;
	for(int i = 0; i < 5; i++){
    
		scanf("%d", &L.data[i]);
		L.length++;
	}
	del_x_1(L,3);
	for(int i = 0; i < L.length; i++){
    
		printf("%d ", L.data[i]);
	}
	return 0; 
}

运行结果

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43687652/article/details/123695419

智能推荐

百度实习面经2022-4-24(第一次面试,暂时只面了一场,感觉人无了)_百度实习面试-程序员宅基地

文章浏览阅读3.5k次。百度实习面经2022-4-26(第一次面试,只面了一场,感觉人无了)_百度实习面试

ipv6隧道穿越ipv4互联实验-程序员宅基地

文章浏览阅读142次。实验名称:ipv6隧道穿越ipv4互联实验实验目的:配置隧道让ipv6能穿越ipv4实现互联实验拓扑图: 实验详细配置步骤:R1Router&gt;enRouter#conf tRouter(config)#line con 0Router(config-line)#logg syncRouter(config-line)#exitRouter(co...

Eclipse - Create a new Source File / Header File_eclipse新建源文件-程序员宅基地

文章浏览阅读576次。Eclipse - Create a new Source File / Header File_eclipse新建源文件

【C语言学习】数组名的实质-程序员宅基地

文章浏览阅读1.5k次,点赞14次,收藏15次。一般情况下,数组名的本质是数组首元素的地址,只有两种情况下,即遇到sizeof和&是数组名的代表的是整个数组。_数组名

WinServer2016无法开启wifi,且驱动安装失败_windows server 2016不能安装wifi驱动-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏11次。WinServer2016无法开启wifi,且驱动安装失败最近搭建文件系统服务器遇到了,新装WinServer2016系统无法开启wifi。解决方案尝试:360驱动大师驱动精灵驱动人生结论:该服务器系统默认关闭wifi功能,而不在于驱动本身,需要手动安装功能模块,并开启服务即可解决操作步骤1.1打开服务器管理器1.2定位到“功能”,选中无线LAN服务..._windows server 2016不能安装wifi驱动

PaddlePaddle:module ‘paddle‘ has no attribute ‘utils‘ & module ‘paddle‘ has no attribute ‘fluid‘问题解决_attributeerror: module 'paddle' has no attribute '-程序员宅基地

文章浏览阅读1k次,点赞5次,收藏8次。记录:使用AutoDL远程服务器算法开发,用到PaddlePaddle时,总是出现paddle有关的属性报错,实质就是paddle没装好,没想到paddle在ubuntu还不如win上好安装。之后可能会提示需要安装paddlepaddle-gpu,pip install paddlepaddle-gpu即可。就会自动安装最新版paddle,最新版其实不用paddle.fluid了,所有也要注意远程服务器的代码有没有更新。解决方案:uninstall所有与paddle有关的东西,执行下句。_attributeerror: module 'paddle' has no attribute 'fluid

随便推点

pentahoBIsever+kettle进行大数据数据抽取任务调度(job)的排坑记录_pentaho biserver-程序员宅基地

文章浏览阅读2.3k次。软件版本 pentahoBIserverpentaho-server-ce-8.2.0.0-342.zipKettlepdi-ce-8.2.0.0-342.zip系统版本CentOS Linux release 7.4.1708 (Core)相关参考PentahoBIserver安装和迁移元数据库至mysql推荐参考本篇(博客 1-3内容)..._pentaho biserver

C语言——分支结构(switch语句)-程序员宅基地

文章浏览阅读921次。当我们遇到多分支的情况时,用if...else if...else if 这样的形式太复杂那我们就可以用switch语句语法结构:switch(整型表达式){ case 整型表达式 : 语句;}当然可以有多个case标签当进入switch语句时,会根据switch括号里的整型表达式选择要进入哪一个case中,进入后会执行case中的语句break:当没有遇到break语句时, 会从进入的case一...

Android : 按 Back 按钮不返回处于后台的 Activity-程序员宅基地

文章浏览阅读172次。在一个项目中,我有一种情况下启动一个新 Activity 后,按 Back 按钮时不想返回到后台的 Activity。具体方法是,在启动新的 Activity 的时候: Intent intent = new Intent(this, AuthenticationActivity.class); intent.setFlags(Intent..._按一下back键回不到上一个activity

iOS UICollectionView 添加 headerView 分组后滚动到指定的section_uicollectionview 滚动到指定section-程序员宅基地

文章浏览阅读545次。方案 1UICollectionViewLayoutAttributes *attributes = [self.collectionView layoutAttributesForItemAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:DJSection]]; CGRect rect = attributes.frame; [self.collectionView setConten_uicollectionview 滚动到指定section

第一章——Java基础(一)——Java初体验_本关任务:编写你的第一个java程序,效果图如下: 编写第一个java程序 1.新建一个hel-程序员宅基地

文章浏览阅读3.1k次,点赞12次,收藏18次。我是小康小白,一个平平无奇的Java,Python小白。热爱有趣的文字,生活和远方。个人博客:https://blog.csdn.net/weixin_45791445有问题欢迎QQ联系:1059320343 (记得备注CSDN)个人微信公众号:小康小白一,Java第一课一,任务描述:本关任务:编写你的第一个Java程序,效果图如下:二,相关知识1. Java程序的编写过程:1. 将Java代码编写到扩展名为.java的文件中;2. 通过javac命令对该java文件进行编译._本关任务:编写你的第一个java程序,效果图如下: 编写第一个java程序 1.新建一个hel

基于springboot+vue.js的校园新型冠状病毒肺炎疫情防控专题网站(附带文章和源代码设计说明文档ppt)-程序员宅基地

文章浏览阅读891次,点赞20次,收藏19次。博主介绍:CSDN深耕的技术专家、博客专家、有着常年的工作经验、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战文末获取源码+数据库。