从有序顺序表中删除所有其值重复的元素(用不同的负数代替),使所有元素的值均不同。

news2024/12/25 8:56:37

题目要求:从有序顺序表中删除所有其值重复的元素(用不同的负数代替),使所有元素的值均不同。
0:有序顺序表
1:删除所有其值重复的元素
2:用不同的负数代替
3:顺序表中所有元素的值均不同

#include <stdio.h>
#define maxSize 100//不能有分号
#include "stdlib.h"
#include "time.h"
typedef struct{
        int data[maxSize];
        int length;
}sqlist;
void init(sqlist *);//初始化一个有序顺序表
void showList(sqlist *);//输出顺序表
void deleteElement(sqlist *);//删除重复元素
//在代码头部声明使用(sqlist *list)作为参数的函数,一定写在结构体下方
int main(){
    sqlist mylist;
    init(&mylist);
    printf("初始化后的线性表如下(含大量重复元素):\n");
    showList(&mylist);
    deleteElement(&mylist);
    printf("删除重复元素后的线性表如下:\n");
    showList(&mylist);
}

//初始化一个有序顺序表
void init(sqlist *list){//此方法有大量重复元素
    list->data[0]=0;
    list->length=1;
    srand((int)time(0));
    for (int i = 1; i < maxSize; ++i) {
        list->data[i]=rand()%10000+1;
        if(list->data[i-1] < list->data[i]){//满足这个判断条件,要特别考虑顺序表的首未元素
            list->length++;
        } else{
            list->data[i] =list->data[i-1];//不能是i+1,数组会越界
            list->length++;
        }
    }

}

void showList(sqlist *list){
    for (int i = 0; i < list->length; ++i) {
        printf("%5d ",list->data[i]);
    }
}

void deleteElement(sqlist *list){
//    int *start=&list;
//    int *end=&list[maxSize-1];
        int num=0;
        for (int j = 0; j < maxSize-1; ++j) {
            if(list->data[j]==list->data[j+1]){
                list->data[j]=--num;
            }
        }
}

输出结果如下:

在这里插入图片描述

还有其他类似的题目:从有序顺序表中删除所有其值重复的元素,使表中所有元素的值均不同,区别本题:(用不同的负数代替)
单纯删除重复元素(即:使元素个数减少);
用不同负数代替重复元素,达到“假删除效果”,(即:元素个数不变);本题采用的此法;

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

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

相关文章

Maven中依赖使用范围

IDEA中help中show Log in Explorer可以查看idea日志 依赖使用范围 构建包含的流程&#xff1a;编译 &#xff0c;测试 &#xff0c;运行 &#xff0c;打包 &#xff0c;安装 &#xff0c;部署 comile test package install deploy 使用标签 1&#xff1a;compile 缺省值 伴随者…

OpenStack(T版)——块存储(Cinder)服务介绍与安装

文章目录 OpenStack(T版)——块存储(Cinder)服务介绍与安装安装和配置(controller)准备(1)创建数据库(2)加载admin user的环境变量(3)创建Identity服务凭据(4)创建Cinder 块存储服务组件的API endpoint 安装和配置Cinder块存储服务组件(1)安装软件包(2)编辑/etc/cinder/cinder.…

第七章:使用FileZilla搭建FTP服务器详解

目录 一、软件下载 二、服务器安装与配置 三、使用客户端 一、软件下载 到官方网站下载 FileZilla 的服务端和客户端程序 &#xff1a; FileZilla - The free FTP solution 二、服务器安装与配置 1 安装 安装的过程非常简单&#xff0c;直接下一步就可以了&#xff0c;需要…

【热部署】springboot-devtools

目录 pom idea配置 1 2 2021往后的idea版本 之前的idea版本 3 说明 注意 pom <!-- <!&ndash; 热部署 &ndash;>--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devt…

前端开发中的ajax请求、axios封装

目录 浏览器http请求 同步 js标签跨域、url 异步ajax、websock协议 ajax是异步的技术术语&#xff0c;最早的api是xhr&#xff08;XMLHttpRequest&#xff09; fetch es6 api axios 封装axios src/utils/request.ts src/utils/func.ts SSO&#xff08;Single Sign-On…

基于JAVA SpringBoot和Vue UniApp外卖订餐小程序

随着社会的发展和进步&#xff0c;网络信息技术的迅速发展已经渗透到我们生活的各个角落&#xff0c;传统餐饮业也受到了很大的影响&#xff0c;大部分传统中餐馆都开门&#xff0c;最多只能通过一个电话预约。但是在中国春节长假期间&#xff0c;餐厅不能接待这么多顾客。因此…

zabbix6.0LTS 配置proxy分布式监控

一、环境介绍 角色IP备注zabbix_server192.168.1.17zabbix_proxy192.168.1.14rpm包方式安装zabbix_agent192.168.1.18源码包安装 二、部署zabbix_proxy数据库 zabbix_proxy必须要安装一个数据库.zabbix官网推荐使用mariadb数据库&#xff0c;本人尝试过使用mysql8.0。由于内…

一步一步学OAK之十二:DepthAI API中Nodes各节点特性总结

目录 ColorCamera节点EdgeDetector节点FeatureTracker 节点ImageManip节点IMU 节点MobileNetDetectionNetwork节点MobileNetSpatialDetectionNetwork节点MonoCamera节点NeuralNetwork节点ObjectTracker节点Script节点SpatialLocationCalculator节点SPIIn节点SPIOut节点StereoDe…

2023年华中杯数学建模A题新型镇静药物临床实验疗效分析与预测解题全过程文档及程序

2023年华中杯数学建模 A题 新型镇静药物临床实验疗效分析与预测 原题再现 临床研究是新药物研究中的关键环节。本题拟围绕一种新型镇静药物的临床实验数据分析展开。 尝试根据附件中提供的数据和相关材料&#xff0c;研究以下问题&#xff1a;   1. 关于术中、术后 24h 不良…

React V6实现v-if、v-show、v-html

功能背景 在vue中使用v-if、v-show、v-html这些命令得心应手&#xff0c;那么react是否也存在这样的命令呢&#xff1f;似乎是没有的&#xff0c;需要自己实现&#xff0c;也就是用原生的写法直接控制dom。 实际效果 代码实现 const [dialogVisible, setDialogVisible] useSt…

Linux学习之守护进程

守护进程是daemon&#xff08;也称作精灵进程&#xff09;&#xff0c;守护进程不需要终端就可以启动起来&#xff0c;另外它的日志会打印到一些特殊文件中&#xff0c;并且占用的目录是根目录&#xff0c;避免占用其他目录&#xff0c;避免想要卸载其他目录时&#xff0c;报无…

taobao/天猫整店采集(店铺宝贝列表接口)

对于做竟店分析来说&#xff0c;首先要知道店铺有哪些商品&#xff0c;店铺宝贝列表则提供了这样的入口&#xff0c;可以查看该店铺的所有宝贝&#xff0c;也可以通过关键词全局搜索来获取店铺宝贝&#xff0c;但搜索会夹带这很多推荐的结果在里面&#xff0c;会比较混乱。 淘宝…

软件破解专题01

玩脱壳&#xff1f; 破解的功能&#xff1a;可以把收费软件免费使用 推荐论坛&#xff1a;pyg论坛》www.chinapyg.com 逆向&#xff1a;团队合作&#xff0c;有条件可以参加ctf大赛&#xff0c;这个应该是进步最快的途径 一个很强的开源项目&#xff1a;de4dot 作者…

Qt加载百度地图实现地图浏览(一)

一、功能介绍 在使用Qt中的QWebEngineView实现加载百度地图,并提供地图浏览功能。用户可以在Qt应用程序中显示百度地图,并使用常见的地图操作(如缩放、平移等)进行交互。 QWebEngine用于在Qt应用程序中嵌入Web内容。提供了对现代Web技术(如HTML5、CSS3、JavaScript等)的…

【Java高级编程】网络编程

网络编程 1、InetAddress类的使用1.1、实现网络通信需要解决的两个问题1.2、网络通信的两个要素1.3、通信要素一&#xff1a;IP和端口号1.4、通信要素二&#xff1a;网络通信协议1.5、TCP和UDP的区别1.6、TCP三次握手和四次挥手 2、TCP网络编程3、UDP网络编程4、URL编程4.1、UR…

14-上传文件

目录 1.核心方法 1.1.HttpServletRequest 类方法 1.2.Part 类方法 2.代码示例 2.1.通过form表单方式提交文件 2.2.通过Postman来模拟上传文件 2.2.1.简易版文件上传 2.2.2.正式版&#xff0c;可以上传多个图片&#xff0c;不会覆盖 数据提交有3种方式&#xff1a; form…

6.28学习 babel转换,es6的装饰器

6.28学习 babel转换&#xff0c;es6的装饰器 1.babel转换1.1出现问题1.2babel转换 2.装饰器2.1类装饰器2.2方法装饰器 1.babel转换 1.1出现问题 先来一段代码&#xff0c;运行&#xff0c;有可能是会报错的&#xff0c;为什么呢&#xff1f;因为JS以前只能运行在浏览器中&…

Bokeh 绘图基础与常用功能

Reference | Getting started with Bokeh – Medium Post 在 Github 上查看交互式的绘图结果 | Bokeh 绘图入门 – Posted by Paradise 在这篇文章中&#xff0c;从最基本的绘图开始&#xff0c;逐步学习 Bokeh 中常用的绘图功能&#xff0c;目标是能满足大部分基础的绘图需求。…

密码学—Vigenere加密Python程序

文章目录 维吉尼亚加密加密算法解密算法 注意事项 维吉尼亚加密 古典密码&#xff0c;属于多表加密。 怎么就是多表了&#xff1f; 维吉尼亚密码的加密算法实质是凯撒密码&#xff0c;因为他是先分好小组&#xff0c;然后用密钥串对应着分好组的每一个字母进行加密&#xff08…

用纯CSS和DIV绘制播放按钮样式

最近在做前端的视屏监控播放对接&#xff0c;前端弄了个播放按钮&#xff0c;记录下&#xff0c;效果如图所示&#xff1a; HTML代码&#xff1a; <div className"box"><div className"one" ><div className"two"><div cl…