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

数据结构算法题day05

数据结构算法题day05

  • 题目
  • 算法思想
  • 代码
  • 运行代码

题目

从有序表中删除所有其值重复的元素,使表中所有元素的值均不同。

算法思想

第一个元素(不重复)依次向后扫描,不重复就保留,重复(不保留)就删除所有重复元素

代码

bool Del_same(Sqlist* L){int i = 0,j = 0;if(L -> length == 0)return false;for(i = 0,j = 1; j < L -> length; j++){if(L->data[i] != L->data[j]){	i++;L->data[i] = L->data[j];			}		}L->length = i + 1;return true;
}

运行代码

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define MaxSize 10//定义最大长度
int InitArr[10] = { 1,2,2,3,4,2,5,2,6,7 };typedef struct {int data[MaxSize];//用静态的数据存放数据元素int length;//顺序表当前长度
}Sqlist;//顺序表的类型定义void print(Sqlist* L)
{for (int i = 0;i < L->length;i++){printf("%d ", L->data[i]);}
}
//初始化一个顺序表
void InitList(Sqlist* L)
{for (int i = 0;i < MaxSize;i++){L->data[i] = InitArr[i];//将所有数据元素设置为默认初始值}L->length = 10;//顺序表初始长度为0
}
//对长度为n的顺序表L,编写一个时间复杂度为O(n),空间复杂度为O(1)的算法,
//该算法删除线性表中的所有值为x的数据元素//算法思路
bool Del_t(Sqlist* L ,int s ,int t){int i = 0, k = 0;if (L -> length == 0 || s >= t)return false;for(i = 0; i < L -> length ; i++){if(L -> data[i] >= s && L -> data[i] <= t)k++;else L -> data[i-k] = L -> data[i];//将元素移动K个单位}L-> length = L->length - k;return true;
}
bool Del_same(Sqlist* L){int i = 0,j = 0;if(L -> length == 0)return false;for(i = 0,j = 1; j < L -> length; j++){if(L->data[i] != L->data[j]){	i++;L->data[i] = L->data[j];}		}L->length = i + 1;return true;
}int main() 
{Sqlist L;InitList(&L);//初始化一个顺序表:1,2,2,3,4,2,5,2,6,7printf("初始顺序表为:");print(&L);printf("\n");	Del_same(&L);printf("删除重复值后的元素后顺序表为:");print(&L);return 0;
}

相关文章:

数据结构算法题day05

数据结构算法题day05 题目算法思想代码运行代码 题目 从有序表中删除所有其值重复的元素&#xff0c;使表中所有元素的值均不同。算法思想 第一个元素&#xff08;不重复&#xff09;依次向后扫描&#xff0c;不重复就保留&#xff0c;重复&#xff08;不保留&#xff09;就删…...

关于《Java并发编程之线程池十八问》的补充内容

一、写在开头 在上一篇文章我们写《Java并发编程之线程池十八问》的时候,鉴于当时的篇幅已经过长,很多内容就没有扩展了,在这篇文章里对一些关键知识点进行对比补充。 二、Runnable vs Callable 在创建线程的时候,一般会选用 Runnable 和 Callable 两种方式。 【源码对…...

扒出秦L三个槽点,我不考虑买它了

文 | Auto芯球 作者 | 雷慢 比亚迪的有一个王炸“秦L”&#xff0c;再一次吸引了我注意力&#xff0c; 我上一辆车刚卖不久&#xff0c;最近打算买第二辆车&#xff0c; 二手车和新车都有在看&#xff0c; 我又是一个坚定的实用主义者&#xff0c; 特别是现在的经济环境不…...

【408真题】2009-28

“接”是针对题目进行必要的分析&#xff0c;比较简略&#xff1b; “化”是对题目中所涉及到的知识点进行详细解释&#xff1b; “发”是对此题型的解题套路总结&#xff0c;并结合历年真题或者典型例题进行运用。 涉及到的知识全部来源于王道各科教材&#xff08;2025版&…...

LeetCode---链表

203. 移除链表元素 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 代码示例1&#xff1a;(直接使用原来的链表来进行移除节点操作) //时间复杂度: O(n) //空间复杂度: O(1) class Solu…...

idea 快捷键运用

ctrl d 向下复制一行 shiftalt↑/↓ 向上或者向下移动光标所在行 shiftctrl↑/↓ 向上或者向下移动光标所在行(自动对齐) shift F6 rename包名或者类名或者批量修改变量名(不建议更改项目名&#xff0c;包名也尽量别改) 输入if 然后ctrlshift回车 补全缺失的括号 shift …...

k8s问题

文章目录 本地搭K8s集群 bilibili什么是声明式API&#xff1f;kubectl apply Etcd数据库有什么特性&#xff0c;为什么K8S选用了Etcd数据库&#xff1f;K8S中一个node的生命周期是怎样的&#xff1f;服务发现机制介绍docker的实现原理介绍如果只是使用Linux命名空间进行分离&am…...

串口通信问题排查总结

串口通信问题排查 排查原则&#xff1a; 软件从发送处理到接收处理&#xff0c;核查驱动、控制及发送接收数据是否正常。硬件从发送到接收&#xff0c;针对信号经过的各段&#xff0c;分段核对信号是否正常。示波器、逻辑分析仪。用万用表、示波器、逻辑分析仪等工具&#xf…...

【教学类-59-】专注力视觉训练01(圆点百数图)

背景需求&#xff1a; 视觉训练的神奇效果&#xff0c;让你的宝贝成为焦点 - 小红书魔法视觉追踪-视觉训练—— &#x1f50d;视觉训练&#x1f50d; &#x1f539;想要提高宝宝的专注力&#xff0c;视觉训练是个绝佳方法&#xff01; &#x1f539;让宝宝仔细观察数字的路线&a…...

C 语言实例 - 循环输出26个字母

循环输出 26 个字母。 以下例子我们用变量 letter 来存储当前要输出的字母&#xff0c;然后&#xff0c;使用 for 循环来重复 26 次输出字母&#xff0c;并在每个字母后面加一个空格。 循环内部使用 printf 函数来输出 letter 变量的值&#xff0c;%c 是 printf 的格式控制符…...

qt多语言翻译不生效的原因

假设您有QT语言家的基础知识&#xff0c;假设网上那些所有的问题您都已经排查过了&#xff0c;但依然翻译不生效&#xff0c;那么可以看下这篇帖子&#xff0c;其实就一个问题&#xff0c;变量的生命周期&#xff0c;假设QTranslator是一个函数内的变量&#xff0c;且没有被声明…...

springboot集成达梦数据库8,用springboot+mtbatisplus查询值为空

springboot集成达梦数据库8&#xff0c;用springbootmtbatisplus查询值为空 背景&#xff1a;springboot集成达梦数据库8&#xff0c;用springbootmtbatisplus查询值为空&#xff0c;但是在DB管理工具中是可以查询到数据的。 原因及解决方法&#xff1a;执行添加语句后&#xf…...

C语言-----指针数组 \ 数组指针

一 指针数组 用来存放指针的数组 int arr[10]; //整型数组 char ch[5]; //字符数组 int * arr[6]; //存放整型指针的数组 char * arr[5]; //存放字符指针的数组 // 指针数组的应用 int main() {int arr1[] { 1,2,3,4,5 };int arr2[] { 2,3,4,5,6 };int arr3[] { 3,4,…...

Go语言 gRPC 简述

参考文章&#xff1a; 聊聊gRPC的特性和背后设计的原则&#xff08;一&#xff09;-腾讯云开发者社区-腾讯云 grpc-我们为什么要用gRpc&#xff1f;gRpc快在哪里&#xff1f;_grpc 优点-CSDN博客 GRPC详解-CSDN博客 1. 什么是gRPC gRPC 是一个高性能 远程调用(RPC)框架&#…...

信息系统项目管理师0136:工具与技术(8项目整合管理—8.9结束项目或阶段—8.9.2工具与技术)

点击查看专栏目录 文章目录 8.9.2 工具与技术 8.9.2 工具与技术 专家判断 结束项目或阶段过程中&#xff0c;应征求具备如下领域相关专业知识或接受过相关培训的个人或小组的意见&#xff0c;涉及领域包括&#xff1a;管理控制&#xff1b;审计&#xff1b;法规与采购&#xf…...

appium-driver方法待整理。。

app C:\Users\v-hongweishi\AppData\Local\Programs\Xmind\Xmind.exe deviceName DESKTOP-7NJ1ENB platformName Windows 应用程序ID&#xff08;AppId&#xff09;是应用程序用户模型 ID (AppUserModelID)&#xff0c;简称 AUMID Outlook …...

Android Ktor 网络请求框架

Ktor 是一个由 JetBrains 开发的用于 Kotlin 编程语言的应用框架&#xff0c;旨在创建高性能的异步服务器和客户端应用程序。由于完全基于 Kotlin 语言&#xff0c;Ktor 能够让开发者编写出简洁、可读性强且功能强大的代码&#xff0c;特别适合那些已经熟悉 Kotlin 的开发人员。…...

交互设计如何助力传统技艺在当代复兴?

背景介绍 榫卯是中国传统木工中一种独特的接合技术&#xff0c;它通过构件间的凸凹部分相互配合来实现两个或多个构件的紧密结合。这种结构方式不依赖于钉子或其他金属连接件&#xff0c;而是利用木材自身的特性&#xff0c;通过精巧的设计和工艺&#xff0c;实现构件间的稳定…...

使用 Django Rest Framework 构建强大的 Web API

文章目录 安装 Django Rest Framework创建序列化器创建视图和 URL 路由配置认证和权限测试 API Django Rest Framework&#xff08;DRF&#xff09;是一个强大的工具&#xff0c;用于在 Django Web 框架中构建灵活且功能丰富的 Web API。它提供了许多功能&#xff0c;包括序列化…...

老师如何对付挑事儿的家长?

身为老师&#xff0c;你有没有遇到过这样的家长&#xff1a;孩子在学校里闹点小矛盾&#xff0c;或者作业分数有点争议&#xff0c;他们就气势汹汹地来找你&#xff0c;说你偏心&#xff0c;甚至在其他家长面前说三道四&#xff1f;面对这种爱“挑事”的家长&#xff0c;老师们…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...