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

插入排序 算法

从第二个开始,从后面往前找,如果比其小,就交换,else 就终止

for i = 1 i <n i ++

for j = i     j > 0 (到第二个)    j--

if   <

swap

下面给出源码

//对插入排序来说,直接从第二个元素开始template<typename T >
void InsertSort( T arr[], int n){for(int i = 1 ; i < n ; i++){//寻找【i应该插入的位置】,但是注意我们是从后面往前找所以j 要从后往前// for( int j = i  ; j > 0 ; j --)//     if(arr[j] < arr[j - 1] )//         swap(arr[j], arr[j-1]);//     else //         break;for( int j = i  ; j > 0 && arr[j] < arr[j - 1]; j --)swap(arr[j], arr[j-1]);}int main()
{int n = 100000;int *arr = SortTestHelper :: generateRandomArr(n, 0, n) ;int *arr2 = SortTestHelper :: copyIntArray(arr, n);// InsertSort(arr2, n);// SortTestHelper :: printarr(arr2, n);// selectionSort( arr, n );// SortTestHelper :: printarr(arr, n);SortTestHelper::test_sort("selection Sort", selectionSort, arr,n);SortTestHelper::test_sort("Insertion Sort", InsertSort, arr2,n);delete[] arr;delete[] arr2;return 0;}

辅助函数 多了一个copy 

给出完整代码

int* copyIntArray(int a[], int n){int* arr = new int[n];copy(a, a + n, arr);return arr;}

相关文章:

插入排序 算法

从第二个开始&#xff0c;从后面往前找&#xff0c;如果比其小&#xff0c;就交换&#xff0c;else 就终止 for i 1 i <n i for j i j > 0 (到第二个) j-- if < swap 下面给出源码 //对插入排序来说&#xff0c;直接从第二个元素开始template<ty…...

“揭秘!如何通过京东商品详情接口轻松获取海量精准商品信息!“

京东商品详情接口可以通过HTTP GET请求获取商品详情信息。 请求参数包括num_iid&#xff0c;表示JD商品ID。 请求示例&#xff1a; GET /jd/item_get/?num_iid10335871600 HTTP/1.1 Host: api-vx.Taobaoapi2014.cn Connection: close Accept-Encoding: gzip 点击获取…...

已经有多人中招,不要被AI换脸技术骗了!

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精…...

solidworks 2024新功能之--保存为低版本 硕迪科技

大家期盼已久的SOLIDWORKS保存低版本文件功能来了&#xff0c;从SOLIDWORKS 2024 开始&#xff0c;您可以将在最新版本的SOLIDWORKS 中创建的SOLIDWORKS零件、装配体和工程图另存为SOLIDWORKS 早期版本的全功能文档&#xff08;完成的特征树与相关参数&#xff09;。 将文件另…...

MySQL --- 聚合查询 和 联合查询

聚合查询&#xff1a; 下文中的所有聚合查询的示例操作都是基于此表&#xff1a; 聚合函数 聚合函数都是行与行之间的运算。 count() select count(列名) from 表名; 统计该表中该列的行数&#xff0c;但是 null 值不会统计在内&#xff0c;但是如果写为 count(*) 那么 nu…...

Note——torch.size() umr_maximum() array.max() itertools.product()

torch.size Problem TypeError: ‘torch.Size’ object is not callable Reason Analysis torch.Size函数不可调用 因为torch只可以.size() 或 shape Solution 将y.shape()替换为y.size() 或 y.shape ytorch.normal(0,0.01,y.size())2 return umr_maximum(a, axis, None…...

python学习笔记6-DefaultDict

对于一般的字典来说&#xff0c;如果键不存在会导致【KeyError】&#xff0c;因此可以考虑用DefaultDict # Defining the dict d defaultdict(def_value) d["a"] 1 d["b"] 2print(d["a"]) print(d["b"]) print(d["c"…...

Redis 底层对 String 的 3 个优化

Redis对 String 类型实现了很多优化&#xff0c;通过以下三个重要的优化点来解释&#xff1a; 1. 简单动态字符串&#xff08;SDS&#xff09; Redis 的 String 类型内部采用简单动态字符串&#xff08;SDS&#xff09;来管理字符串。相比于 C 语言的原生字符串&#xff0c;S…...

简约艺术签名小程序源码/流量主小程序源码/字节跳动抖音小程序

源码简介&#xff1a; 本源码为简约艺术签名小程序、流量主小程序以及字节跳动抖音小程序的源代码。该小程序是一款实用的工具&#xff0c;旨在帮助用户创建各种独特的艺术签名&#xff0c;以便在社交媒体平台上更好地展示用户的个性和创意。 源码链接&#xff1a; 网盘源码 …...

Ubuntu(kylin)挂载iso文件和配置apt本地源

版本说明:Ubuntu Server 16.04 LTS解决问题:解决在无任何互联网的环境下,安装软件时缺少依赖包的问题 方法一:通过虚拟机挂载 将镜像挂载到虚拟机以VMware Workstation为例,打开“虚拟机设置”,点击“CD/DVD”选项,将 “设备状态”中的“<...

wps表格求标准差怎么算?

在WPS表格中&#xff0c;要计算标准差&#xff0c;可以使用STDEV函数。标准差是一种衡量数据集合离散程度的统计指标。下面我将详细介绍如何使用STDEV函数来计算标准差。 STDEV函数的语法为&#xff1a;STDEV(range) 其中&#xff0c;range表示要计算标准差的数据范围&#x…...

安达发|制造企业生产排产现状和APS系统的解决方案

随着市场竞争的加剧&#xff0c;制造业企业面临着生产效率、成本控制和客户满意度等方面的巟大压力。在这种背景下&#xff0c;生产排产作为制造业的核心环节&#xff0c;对企业的生产经营具有重要意义。本文将针对制造业的生产排产现状进行分析&#xff0c;并提出相应的APS系统…...

Qt判断一个点在多边形内还是外(支持凸边形和凹变形)

这里实现的方法是转载于https://blog.csdn.net/trj14/article/details/43190653和https://blog.csdn.net/WilliamSun0122/article/details/77994526 来实现的&#xff0c;并且按照Qt的规则进行了调整。 以下实现方法有四种&#xff0c;每种方法的具体讲解在转载的博客中有说明&…...

MySQL导入数据库出现 Got error 168 from storage engine错误

“Got error 168 from storage engine” 是 MySQL 数据库的一个错误&#xff0c;通常是由于存储引擎发生了一些问题导致的。这个错误可能有多种原因引起。以下是一些可能的解决方法&#xff1a; 检查硬盘空间&#xff1a;确保目标数据库的服务器有足够的硬盘空间来执行导入操作…...

使用 VS Code 作为 VC6 的编辑器

使用 VS Code 作为 VC 6.0 的编辑器 由于一些众所周知的原因&#xff0c;我们不得不使用经典&#xff08;过时&#xff09;的比我们年龄还大的已有 25 年历史的 VC 6.0 来学习 C 语言。而对于现在来说&#xff0c;这个经典的 IDE 过于简陋&#xff0c;并且早已不兼容新的操作系…...

Peter算法小课堂—蠕动区间

蠕动区间 蠕动区间&#xff08;尺取法、双游标&#xff09;是一个经典的优化算法。 我们以毛毛虫&#x1f41b;举例说明 具体的&#xff0c;我们看题目 例题 最小区间 这一题&#xff0c;我们用暴力法&#xff0c;复杂度O(N^2) 先给出暴力法代码 int ansn1; for(int tail…...

Vant和ElementPlus在vue的hash模式的路由下路由离开拦截使用Dialog和MessageBox失效

问题复现 ElementPlus&#xff1a;当点击返回或者地址栏回退时&#xff0c;MessageBox无效 <template><div>Element Plus Dialog 路由离开拦截测试</div><el-button type"primary" click"$router.back()">返回</el-button>…...

上海市通过区块链技术攻关 构建数字经济可信安全技术底座

日前&#xff0c;上海市印发《上海区块链关键技术攻关专项行动方案&#xff08;2023—2025年&#xff09;》&#xff08;以下简称《行动方案》&#xff09;&#xff0c;提出到2025年&#xff0c;在区块链体系安全、密码算法等基础理论以及区块链专用处理器、智能合约、跨链、新…...

Java 面试题

昨天面试了两个Java开发程序员&#xff0c;问了一些问题&#xff0c;回答的不是很好&#xff0c;看看大家的回答如何&#xff0c;可以在评论区回复&#xff0c;测试下自己的水平。 A程序员&#xff1a; 1. 自我介绍一下&#xff1b; 2. 企业级和互联网行业都有那些项目经验,简…...

layui 表格 展开

一、表格嵌套表格&#xff08;手风琴打开&#xff09; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>设备上下线统计</title><script type"text/javascript" src"../../../l…...

[尚硅谷React笔记]——第4章 React ajax

目录&#xff1a; 脚手架配置代理_方法一 server1.js开启服务器server1:App.js解决跨域问题&#xff1a;脚手架配置代理_方法二 ​​​​​​​server2.js开启服务器server2第一步&#xff1a;创建代理配置文件编写setupProxy.js配置具体代理规则&#xff1a;App.js运行结果&a…...

Richard Stallman 正在与癌症作战

导读为了纪念 GNU 项目成立 40 周年&#xff0c;自由软件基金会&#xff08;FSF&#xff09;已计划在 10 月 1 日&#xff08;即GNU 40&#xff09;为家庭、学生以及美国的其他人群组织一场黑客马拉松活动。 活动之前&#xff0c;GNU 项目于 9 月 27 日迎来了 40 岁生日&#…...

MathType7.4最新免费版(公式编辑器)下载安装包附安装教程

MathType是一款专业的数学公式编辑器&#xff0c;理科生专用的必备工具&#xff0c;可应用于教育教学、科研机构、工程学、论文写作、期刊排版、编辑理科试卷等领域。可视化公式编辑器轻松创建数学方程式和化学公式。兼容Office Word、PowerPoint、Pages、Keynote、Numbers 等7…...

如何支持h.265视频

前言 略 h.265视频 h.265是一种视频编码格式。 随着视频编码技术的发展&#xff0c;相比H.264, H.265同等画质体积仅为一半、带宽占用省一半、画质更细腻等诸多优势。 但Web浏览器还不支持H.265的解码播放&#xff0c;因此基于Web Assembly(封装FFmpeg)、JS解封装、Canvas投…...

vue 放大镜(简易)

目录 zoom组件 <template><div class"pic-img"><div class"img-container"><img ref"img" load"imgLoaded" :src"url" :style"overlayStyle" error"imgerrorfun"/><div cl…...

【计算机网络】第一章——概述

个人主页直达&#xff1a;小白不是程序媛 系列专栏&#xff1a;计算机网络基础 目录 前言 计算机网络概述 概念 功能 组成 分类 标准化工作 性能指标 速率 带宽 吞吐量 时延 时延带宽积 往返时延RTT 利用率 分层 为什么要分层&#xff1f; 分层的基本原则&am…...

vue实现在页面拖拽放大缩小div并显示鼠标在div的坐标

1、功能要求&#xff1a; 实现在一个指定区域拖拽div,并可以放大缩小&#xff0c;同时显示鼠标在该div里的坐标&#xff0c;如图可示 缩小并拖动 2、实现 <div class"div_content" ref"div_content"><div class"div_image" id"…...

LuatOS-SOC接口文档(air780E)-- io - io操作(扩展)

示例 -- io模块是lua原生模块,LuatOS增加了一些API -- 请配合os模块一起使用-- 只读模式, 打开文件 local fd io.open("/xxx.txt", "rb") -- 读写默认,打开文件 local fd io.open("/xxx.txt", "wb") -- 写入文件,且截断为0字节 loc…...

【数据结构】线性表(六)堆栈:顺序栈及其基本操作(初始化、判空、判满、入栈、出栈、存取栈顶元素、清空栈)

文章目录 一、堆栈1. 定义2. 基本操作 二、顺序栈0. 顺序表1. 头文件和常量2. 栈结构体3. 栈的初始化4. 判断栈是否为空5. 判断栈是否已满6. 入栈7. 出栈8. 查看栈顶元素9. 清空栈10. 主函数11. 代码整合 堆栈Stack 和 队列Queue是两种非常重要的数据结构&#xff0c;两者都是特…...

父组件可以监听到子组件的生命周期吗?

在 Vue 中,父组件是可以监听到子组件的生命周期的。Vue 提供了一些特殊的钩子函数,可以在父组件中监听子组件的生命周期事件。 以下是一些常用的方法来监听子组件的生命周期: 1:使用$emit: 在子组件的生命周期钩子函数中,使用 $emit 方法触发自定义事件,向父组件发送通…...