当前位置: 首页 > news >正文

6. 删除顺序表中的重复元素

p17 6. 删除顺序表中的重复元素

#include<stdio.h>
#include<stdlib.h>
#define MaxSize 100
typedef struct {int* data;int capacity;int length;
}SeqList;int InitList(SeqList &L) {L.data = (int*)malloc(MaxSize * sizeof(int));L.capacity = MaxSize;L.length = 0;return 1;
}
int CreateList(SeqList &L, int n) {int i;for (i = 0; i < n; i++) {scanf_s("%d", &L.data[i]);}L.length = n;return 1;
}
int ListDelete(SeqList& L,int i,int &e) {if (i > L.length || i < 0) {return 0;}e = L.data[i - 1];for (int j= i; j<L.length; j++) {L.data[j - 1] = L.data[j];}L.length--;
}
int ListInsert(SeqList &L, int i, int e) {if (i > L.length+1 || i < 0) {return 0;}for (int j = L.length; j >= i; j--) {L.data[j] = L.data[j - 1];}L.data[i - 1] = e;L.length++;return 1;
}
int LocateElem(SeqList& L, int e) {for (int i = 0; i < L.length; i++) {if (L.data[i] == e) {return i + 1;}}
}
void PrintList(SeqList L) {for (int i = 0; i < L.length; i++) {printf("%d ", L.data[i]);}printf("\n");
}
int DeleteMin(SeqList &L) {int m = 100000, locate;for (int i = 0; i < L.length; i++) {if (L.data[i] < m) {m = L.data[i];locate = i;}}	printf("%d  %d\n",m, locate);L.data[locate] = L.data[L.length-1];	return m;
}
void Deletefrom(SeqList &L,int s,int t) {if (s > t || s<0 || t>L.length - 1)exit(-1);int c = t - s;for (int i = t; i <L.length; i++) {L.data[i - c] = L.data[i];}L.length = L.length- c-1;
}
//有序表,所以找到第一个大于t的元素下标,第一个大于等于s的元素下标
void DeleteBetween(SeqList& L, int s, int t) {if (s >= t ||L.length==0)exit(-1);int i, j;for (i=0;i<L.length&&L.data[i] < s; i++);for (j=i; j < L.length && L.data[j] <= t; j++);for (; j< L.length; j++,i++) {L.data[i] = L.data[j];}L.length = i;
}void Reverse(SeqList& L) {for (int i = 0, j = L.length - 1; i <= L.length / 2; i++, j--) {int temp = L.data[i];L.data[i] = L.data[j];L.data[j] = temp;}
}
void Del_s_t(SeqList& L,int s,int t) {//删除顺序表中值在s和t之间的元素,用k记录值在s和t中元素的个数int k = 0;for (int i = 0; i < L.length; i++) {if (L.data[i] >= s && L.data[i] <= t) {k++;}else {L.data[i - k] = L.data[i];}}L.length = L.length - k;
}
void Del_Same(SeqList &L) {//删除顺序表中值重复元素int i,j;for (i = 0, j = 1; j < L.length - 1; j++) {if (L.data[i] != L.data[j]) {L.data[++i] = L.data[j];}}L.length = i+1;
}
int main() {	int n;scanf_s("%d", &n);SeqList L;InitList(L);CreateList(L,n);PrintList(L);Del_Same(L);PrintList(L);return 0;
}

相关文章:

6. 删除顺序表中的重复元素

p17 6. 删除顺序表中的重复元素 #include<stdio.h> #include<stdlib.h> #define MaxSize 100 typedef struct {int* data;int capacity;int length; }SeqList;int InitList(SeqList &L) {L.data (int*)malloc(MaxSize * sizeof(int));L.capacity MaxSize;L.l…...

Vue——axios的二次封装

文章目录 一、请求和传递参数1、get 请求2、post 请求3、axios 请求配置 二、axios 的二次封装1、配置拦截器2、发送请求 三、API 的解耦1、配置文件对应的请求2、获取请求的数据 四、总结 一、请求和传递参数 在 Vue 中&#xff0c;发送请求一般在 created 钩子中&#xff0c…...

JavaScript Web APIs -03 事件流、事件委托、其他事件(加载、滚动、尺寸)

Web APIs - 03 文章目录 Web APIs - 03事件流捕获和冒泡阻止冒泡 事件委托其他事件页面加载事件元素滚动事件页面尺寸事件 元素尺寸与位置 进一步学习 事件进阶&#xff0c;实现更多交互的网页特效&#xff0c;结合事件流的特征优化事件执行的效率 掌握阻止事件冒泡的方法理解事…...

QT DAY 2

window.cpp #include "window.h" #include<QDebug> #include<QIcon> Window::Window(QWidget *parent) //构造函数的定义: QWidget(parent) //显性调用父类的构造函数 {//this->resize(430,330);this->resize(QSize(800,600));// this…...

ELK安装、部署、调试(三)zookeeper安装,配置

1.准备 java安装&#xff0c;系统自带即可 2.下载zookeeper zookeeper.apache.org上可以下载 tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /usr/local mv apache-zookeeper-3.7.1-bin zookeeper 3.配置zookeeper mv zoo_sample.cfg zoo.cfg /usr/local/zookeeper/con…...

企业级智能PDF及文档处理SDK GdPicture.NET 14.2 Crack

企业级智能PDF及文档处理SDK GdPicture.NET 提供了一组非常先进的 API&#xff0c;这些 API 利用了人工智能、机器学习和模糊逻辑算法等尖端技术。经过超过 15 年的持续研究和对创新的专注&#xff0c;我们的 SDK 已成为市场上针对PDF、OCR、条形码、文档成像和各种格式最全面的…...

应用程序管理工具

应用程序管理是 DevOps 的重要组成部分。它可以定义为在所有阶段监控和管理软件应用程序的可用性、运行状况、性能和功能的过程&#xff0c;包括规划、设计、构建、测试、部署、维护和更新。这意味着应用程序从概念到停止都受到监控。 应用程序管理的重要性 管理应用程序可确…...

当数据集较小时,调节学习率的方法

当数据集较小时&#xff0c;调节学习率的方法 当数据集较小时&#xff0c;调节学习率的方法可以参考以下步骤&#xff1a; 当数据集较小时&#xff0c;调节学习率的方法可以参考以下步骤&#xff1a; 先尝试一个较小的学习率&#xff0c;如0.001&#xff0c;或者根据经验设置一…...

JS实现数组的扁平化(ES6实现)----例子+难点解析

要求&#xff1a; 取出嵌套数组(多维)中的所有元素放到一个新数组(一维)中如: [1, [3, [2, 4]]] > [1, 3, 2, 4] 基础知识&#xff1a; arr.concat() 语法&#xff1a;数组.concat(其他数组) 作用&#xff1a;将其他数组和数组拼接在一起 返回值&#xff1a;拼接好的新数…...

git 提交错误,回滚到某一个版本

git log 查看版本号 commit 后面跟的就是版本号git reset --hard 版本号 &#xff08;就可以回滚到你要去的版本&#xff09;git push -f &#xff08;因为本地回滚了&#xff0c;所以和远程会差几个版本。所以这时候只有强制推送&#xff0c;覆盖远程才可以&#xff09;...

数据结构:八种数据结构大全

数据结构 1.1 数据结构概述 数据结构是计算机存储、组织数据的方式&#xff1b;通常情况下&#xff0c;精心选择的数据结构可以带来更高的运行或者存储效率。数据结构的优良将直接影响着我们程序的性能&#xff1b;常用的数据结构有&#xff1a;数组&#xff08;Array&#xff…...

Java正则表达式系列--Pattern和Matcher的使用

原文网址&#xff1a;Java正则表达式系列--Pattern和Matcher的使用_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Java的正则表达式中的两个重要类的用法&#xff1a;Pattern和Matcher。 在Java中&#xff0c;java.util.regex包定义了正则表达式使用到的相关类&#xff0c…...

40个web前端实战项目,练完即可就业,从入门到进阶,基础到框架,html_css【附视频+源码】

当下前端开发可以说是一个比较火的职业&#xff0c;所以学习的人比较多&#xff0c;不管是培训还是自学都是希望通过前端可以找到一份好的工作&#xff0c;但是很多自学的朋友在自学过程中有些盲目&#xff0c;不仅大大降低了学习的效率&#xff0c;而且也会打击自己的学习热情…...

Erasure-Code(纠删码) 最佳实践

Erasure-Code(纠删码) 最佳实践 1. 纠删码原理 这个星球产生的数据越来越庞大&#xff0c;差不多2010年开始各大互联网公司大都上线了系统以应对数据膨胀带来的成本增长。Erasure-Code&#xff08;纠删码&#xff09;技术应用其中。典型如Google 新一代分布式存储系统colossu…...

USB 转 4 串口芯片 CH9104

产品概述&#xff1a; CH9104 是一款USB总线的转接芯片&#xff0c;支持最高6M波特率与硬件流控&#xff0c;支持USB配置功能&#xff0c;提供RS485方向控制与GPIO等信号引脚&#xff0c;可实现PC等平台扩展多串口或多个串口设备升级成USB口。CH9104实现 USB 转四个异步串口 U…...

java实现医院门诊排班与预约系统【代码】

文章目录 前言一、遇到的问题二、实现过程1.数据库设计2.实体类3.医生添加排班或修改排班方法4.患者预约方法5.患者修改预约6.患者取消预约 前言 该文章从实际需求出发&#xff0c;实现医生设置自身排班与患者预约功能。 一、遇到的问题 1、医生设置的排班表不能有时间上的冲…...

8.Redis-set

Set 常用命令saddsmemberssismemberscardspopsmovesrem集合间操作sinter 交集sinterstoresunion 并集sunionstoresdiff 差集sdiffstore 命令总结 内部编码应用场景使用 set来保存用户的“标签” set(集合)就是把一些有关联的数据放刀一起。 它与list的区别如下&#xff1a; 集合…...

电子厂生产管理系统解决方案

越来越多的企业开始意识到数字化转型的重要性。在这个过程中&#xff0c;生产型企业面临着许多挑战&#xff0c;例如如何提高生产效率、节省企业资源以及改善生产工艺流程和产品质量。有一种解决方案可以帮助企业应对这些挑战&#xff0c;那就是生产管理系统。 生产管理系统是一…...

ARM DIY(五)摄像头调试

前言 今天&#xff0c;就着摄像头的调试&#xff0c;从嵌入式工程师的角度&#xff0c;介绍如何从无到有&#xff0c;一步一步地调出一款设备。 摄像头型号&#xff1a;OV2640 开发步骤 分为 2 个阶段 5 个步骤 阶段一&#xff1a; 设备树、驱动、硬件 阶段二&#xff1a; 应…...

hadoop2.2.0伪分布式搭建

1.准备Linux环境 1.0点击VMware快捷方式&#xff0c;右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip 设置网段&#xff1a;192.168.1.0 子网掩码&#xff1a;255.255.255.0 -> apply -> ok 回到windows --> 打开…...

渲染天空、日落与行星:给前端初学者的实时大气可视化入门指南

渲染天空、日落与行星&#xff1a;给前端初学者的实时大气可视化入门指南 你有没有想过&#xff0c;为什么浏览器里的一片蓝天看起来那么“假”&#xff1f;为什么游戏中的夕阳总像打了层柔光滤镜&#xff0c;却少了那种空气里浮动的微粒感&#xff1f;又或者&#xff0c;当你拖…...

学习第六天,python

元组&#xff08;tuple&#xff09;一、元组的本质与特点核心&#xff1a;不可变性二、元组的创建方式三、元组的访问四、元组的操作五、元组的经典使用场景六、元组的注意事项与陷阱字典&#xff08;dict&#xff09;字典以 key: value 的形式存储数据&#xff0c;通过 key 就…...

车间管理越管越乱?找准根源+避坑,跳出管理内耗

很多车间管理者都深陷这样的困境&#xff1a;每天忙得脚不沾地&#xff0c;盯进度、查卫生、处理各类现场异常&#xff0c;耗尽心力却收效甚微&#xff0c;车间反而越管越乱——物料堆放杂乱无章、工序衔接频频脱节、员工操作随心所欲、设备故障时有发生&#xff0c;产能上不去…...

2026年终极指南:JetBrains IDE试用期重置完整解决方案

2026年终极指南&#xff1a;JetBrains IDE试用期重置完整解决方案 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter JetBrains IDE试用期重置是每个开发者都可能遇到的挑战&#xff0c;当IntelliJ IDEA、PyCharm、W…...

Hermes Agent框架对接Taotoken自定义供应商的配置指南

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Hermes Agent框架对接Taotoken自定义供应商的配置指南 对于使用Hermes Agent框架的开发者而言&#xff0c;能够灵活接入不同的模型…...

为什么你的课程推荐越来越不准?Perplexity查询功能2024Q2算法升级内幕(附绕过冷启动限制的私有指令)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;为什么你的课程推荐越来越不准&#xff1f;Perplexity查询功能2024Q2算法升级内幕&#xff08;附绕过冷启动限制的私有指令&#xff09; Perplexity 在 2024 年第二季度对课程推荐核心查询模块进行了深度重构&…...

Perplexity估值从3B美元缩水至1.8B?华尔街分析师闭门会议纪要首度流出(含5条未公开预警红线)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity估值缩水事件全景速览 2024年第三季度&#xff0c;AI搜索初创公司Perplexity在完成新一轮融资后&#xff0c;其内部估值从2023年底的10亿美元迅速回调至约7.5亿美元&#xff0c;引发全球科技…...

2026亲测10大论文降AI工具,免费好用的都在这了

说实话&#xff0c;咱们26届熬过初稿真的挺不容易&#xff0c;万一终审抽检没过就太冤了&#xff0c;谁都不想在最后关头被卡住。身边有不少同学试图手动去改&#xff0c;结果原格式全乱了&#xff0c;踩过坑才 知道找对工具到底有多重要。 提升内容原创度很关键&#xff0c;终…...

一文读懂现代城市照明:从亮化到数字化的行业升级指南

当前照明行业早已脱离单纯"亮起来"的初级阶段&#xff0c;正在向场景化、数字化、低碳化方向快速迭代&#xff0c;很多客户在选择照明服务商时往往对行业标准、技术趋势了解不足&#xff0c;导致项目效果与预期存在差距。行业升级的核心方向&#xff1a;从单一照明到…...

高并发下是先写数据库,还是先写缓存?

前言 数据库和缓存&#xff08;比如&#xff1a;redis&#xff09;双写数据一致性问题&#xff0c;是一个跟开发语言无关的公共问题。尤其在高并发的场景下&#xff0c;这个问题变得更加严重。 我很负责的告诉你&#xff0c;该问题无论在面试&#xff0c;还是工作中遇到的概率…...