深圳龙华 网站建设网站建设vipjiuselu

diannao/2025/10/22 23:08:54/文章来源:
深圳龙华 网站建设,网站建设vipjiuselu,微网站 报价,wordpress分类设置seo本节复习排序中的希尔排序#xff0c;希尔排序属于插入排序。 希尔排序的代码和插入排序非常类似。 思想却相对于插入排序来说复杂。 在复习希尔排序之前#xff0c; 我们需要先复习一下插入排序。 目录 插入排序 插入过程 代码实现 希尔排序 希尔排序的思想 代码实…本节复习排序中的希尔排序希尔排序属于插入排序。 希尔排序的代码和插入排序非常类似。 思想却相对于插入排序来说复杂。  在复习希尔排序之前 我们需要先复习一下插入排序。 目录 插入排序 插入过程 代码实现 希尔排序 希尔排序的思想 代码实现  插入排序 插入过程 插入排序的思想就是寻找向数组的前面遍历寻找适合的空位。 然后插入进去。  如图这几个数据。  插入排序排升序的过程就是 首先红指针指向第二个元素。 黑指针指向第一个元素。 然后看黑指针指向的数据是否小于红指针。 小于的话就将红指针的数据放到黑指针的位置。 黑指针所指向以及之后的数据向后覆盖。 如果黑指针越界也没有找到。 那么红指针指向数据就放到第一个位置。  5放到第一个位置 9向后覆盖。如图  继续 红指针向后移动一位。 黑指针继续指向红指针前面的一位。  找不到 将2放到第一个位置。 5和9向后覆盖如图 然后红指针重新向后移动一位黑指针重新指向红指针前一个位置。 向前找 找到了 然后将4放到黑指针指向位置。 2 5 9 向后覆盖  然后红指针向后移动一位 黑指针指向其前一个位置。 循环往复。 这里就不画了。 插入排序就是这么一个过程。 现在我们来实现一下代码  代码实现 //插入排序 void InsertSort(int* a, int sz)//插入排序n^2里面最优的一个 {//[0, end], 有序插入一个tmp值 依旧保持串数列有序 如何插入。 for (int i 1; i sz; i) {int end i - 1;//让end指向已有序的最后一个数字。 int tmp a[i];//让将end后面的那个待排序的数字赋值给tmp。while (end 0) //让end一步一步向后走 到end 0位置{if (tmp a[end]) //看一下tmp和a[end]哪个比较大 如果tmp的值小 那么说明待排序的那个数字应该在第end以前的位置//第end个数字以后已排序的数字 整体向后移动一位。{a[end 1] a[end];//让第end位置的数字向后覆盖一位。end--;//end位置的数字向后移动一位的同时 end-- 继续检查下一个数字。 }else//一直到第tmp 大于 第end位置的数字 说明tmp应该就是第end 1位置的数字。 而此时第end 1和第 end 2可能//是同一个数字或者tmp刚刚开始检查 没有向后检查呢就检查出错误。{//为什么不在这里直接进行插入 是因为可能找到最后一个数也没有找到要排序的位置。//那么这一个位置就只能覆盖成别的数字。 break;}}a[end 1] tmp;//放在这里就解决了到end 0的时候也没有找到比tmp小的数字的位置。 }}插入排序实现后理解希尔排序就相对简单一些。 现在来看希尔排序 希尔排序 希尔排序的思想 希尔排序的思想就是将数组分为几组。  如图分成三组。 然后对第一组的第一个数和第二组的第一个数和第三组的第一个数进行插入排序。 第一组的第二个数 第二组的第二个数 第三组的第三个数进行插入排序 第一组的第三个数 第二组的第三个数 第三组的第三个数进行插入排序。 然后分组的大小减小再次进行这样的排序 直到每组大小减小到1如图 再次进行最后一轮插入排序。 整个数组就成为了有序。 这个过程就是希尔排序。  代码实现  //希尔排序 void ShellSort(int* a, int sz) {int gap sz / 2;//先让gap为二分之待排序数组长度 然后每次子插入排序都让gap除以2.while (gap 1) //gap最小为2的时候就能让数组变的有序。 所以gap 1是为了保证gap会成为最小的那个2.并且不会做多余的排序{gap gap / 2;//gap在每次子插入排序中都除以2.for (int i gap; i sz; i) //让i 从gap开始 因为对于一个希尔排序 每gap个数字可以看成一个数字。 //因为每组内对应位置的数字都会和其他gap组合内的其他数字进行子插入排序。 {int end i - gap;//gap为一组 gap看成一个数字。int tmp a[end gap];//gap为一组 gap看成一个数字//例如 第一个gap内第一个数字和第二个gap内第一个数字会进行插入排序。while (end 0) {if (tmp a[end]) //这里不好想像 其实就是寻找一个合适的待排序的数字的位置。 这个数字碰到比他大的//end就向前移动一位。 然后和前一个数字比较。{a[end gap] a[end];end - gap;}else {break;}}a[end gap] tmp;//这里和插入排序相同}} }

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

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

相关文章

做加工都在哪个网站推广电商网站创办过程

英杰社区https://bbs.csdn.net/topics/617804998 一、背景 近年来,Python在数据爬取和处理方面的应用越来越广泛。本文将介绍一个基于Python的爬虫程 序,用于抓取豆瓣电影Top250的相关信息,并将其保存为Excel文件。 程序包含以下几个部…

阿里云的网站接入方式网站空间 群集

反射 反射的概念 反射机制允许程序在执行期借助于ReflectionAPI取得任何类的内部信息(比如成员变量,构造器,成员方法等等),并能操作对象的属性及方法。反射在设计模式和框架底层都会用到加载完类之后,在堆中就产生了一个Class类型…

备份wordpress网站网站建设增城

一、协议族体系结构 TCP/IP协议族分为四层协议系统,自底向下分别为数据链路层、网络层、传输层、应用层。 数据链路层常用ARP(地址解析协议)和RARP(逆地址解析协议)。在网络层使用IP寻址,而在数据链路层使用…

响应式网站的排版做定制网站多少钱

文章目录 1. 每日一言2. 题目(78)删除有序数组中的重复项2.1 解题思路2.2 代码 3. 题目(79)排序矩阵查找3.1 解题思路3.1.1 暴力查找暴力查找代码 3.1.2 二分查找二分查找代码 3.1.3 贪心贪心代码 4. 结语 1. 每日一言 水晶帘动微风起,满架蔷薇一院香。 —高骈- 2.…

注册网站法律风险专业做seo的网站

SVG是矢量图,刚接触尚不能仔细介绍,但只需记得一点:放大不失真,存储也方便。 因为多数户型图使用SVG格式,Android要用的话必须通过相关转换工具,将原SVG格式文件,转换为XML后缀的VectorDrawable…

沈阳网站做网站使用网络图片做素材 侵权

sql语句中最后多了分号的原因,去掉分号就可以。

网站设计服务流程如何注册一个自己的网址

Linux Mint 默认禁用未经验证的 Flatpak 软件包 Linux Mint 新政策 Linux Mint 项目宣布了一项新政策,即默认禁用那些未经官方验证的 Flatpak 软件包,以增强用户的安全保障。 当用户选择启用未经验证的 Flatpak 软件包时,Linux Mint 的软…

广州企业网站设计方案苏州百姓网

采购订单没有生成上传订单号pkg_inpurchase_task.p_rk_sc_rkd_zc iv_yzid ----- ZDA iv_djbh ---- KPD00014712 销售订单下传下去后直接转历史表 select * from INTERFACE_OUT_SALE_M t where djbh like %XSGYMA00220297%日志表查询结果ORA-01400: 无法将 NULL 插入 ("WMS…

网站验证码系统免费行情网站app斗印

上一篇文章学习了GIT中commit、tree和blob三个对象之间的关系,点击链接查看:【Git、GitHub、GitLab】六 GIT中commit、tree和blob三个对象之间的关系 文章目录1 git中如何删除分支2 分离头指针的情况需要注意什么1 git中如何删除分支 如何查看分支&#…

凡科网站怎么做友情链接网站制作用什么软件

如果直接修改SQL报错的话,可以考虑【增加备用字段->复制字段值->删除原字段->备用字段改名】的思路进行处理。 执行的时候建议一步一步执行而非批量执行 其中COLUMN_T为备用字段,COLUMN_O为原字段。 -- 根据原字段创建新长度的备用字段 alte…

上海专业商城建设什么叫seo推广

标准库类型string 和 vector ,分别定义了大小可变的字符串和集合。 bitset,提供了一个抽象方法来操作位的集合。提供更方便的处理位的方式(相对于整型值上的位操作符)vector用于保存一组指定类型的对象。::…

百度推广 做网站遥控器外壳设计网站推荐

电压互感器 Potential Transformer (简称:PT)将高电压转换成标准低电压(100V),供测量、保护用。相数代号:D-单相、S-三相绝缘型式:J-油侵式、G-干式、Z-浇注式结构型式:W-五柱三绕组、B-带补偿绕组、J-接地保护、X-带剩…

专业网站设计招聘信息九江建设局网站

在意大利间谍软件厂商 Hacking Team 的内部邮件和文档被曝光将近一年后,黑掉这家黑客公司的黑客公开了他如何入侵HT的完整细节。该文档于上周六在网上发布,本意是为了给黑客活动人士的一份指南。但对于安全从业人员来说,则意味着当任何企业或…

公司网站维护好做吗wordpress哪个版本

大家好,我是Z哥。“这个 bug 的问题不是很明显吗?怎么这么久才搞定?”“就改一行代码,你怎么弄了这么久?”我想上面的言语几乎每个程序员都听到过。特别是面对那些“稍懂技术”的同事的时候。我觉得这篇文章特别适合你…

兴义市 网站建设官方传奇手游下载

一、在gitHub上创建新项目 【1】点击添加()-->New repository 【2】填写新项目的配置项 Repository name:项目名称 Description :项目的描述 Choose a license:license 【3】点击确定,项目已在githu…

广东网站建站系统哪家好网站建设违法行为

转载自 Java 8 日期和时间解读现在,一些应用程序仍然在使用java.util.Date和java.util.Calendar API和它们的类库,来使我们在生活中更加轻松的处理日期和时间,比如:JodaTime。然而,Java 8 引进的新的类库来处理日期和时…

网站服务器需要多少钱化妆品网站做的好的

《C新经典对象模型》之第7章 模板实例化语义学 7.1 模板及其实例化详细分析7.1.1 函数模板7.1.2 类模板的实例化分析7.1.3 多个源文件中使用类模板07.01.cpp 7.2 炫技写法7.2.1 不能被继承的类7.2.2 类外调用私有虚成员函数07.02.cpp 7.1 模板及其实例化详细分析 7.1.1 函数模…

网站管理助手 ftp网站开发毕业实训总结

好的架构是进化出来的 ,不是设计出来的; 不同时期和不同环境有着不同的最佳架构; 存在即合理,合适的才是最好的; 转载于:https://www.cnblogs.com/sky-jyq/p/11527254.html

网站网页制作机构网站被k有什么表现

免责声明: 本文内容旨在提供有关特定漏洞或安全漏洞的信息,以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步,并非出于任何恶意目的。阅读者应该明白,在利用本文提到的漏洞信息或进行相关测…

百度网站排名规则注册域名是什么意思

参考文章:深入理解JS引擎的执行机制 JavaScript 异步、栈、事件循环、任务队列 我的笔记:ES系列之Promise async 和 await Event Loop 前提 js是单线程的 js的Event Loop是JS的执行机制,深入了解JS的执行,就等于深入了解JS里的event …