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

修正错误的插入排序

错误版

void InsertSort(vector<int>& nums)
{for (int i = 0; i < nums.size()-1; ++i){int end = i;int t = nums[end + 1];while (end >= 0){if (nums[end+1] < nums[end]) nums[end + 1] = nums[end];else break;--end;}nums[end + 1] = t;}
}

无法得到正确结果。

vector<int> arr{ 5, 2, 4, 6, 1, 3 };

 

调试时候发现到1的时候,1倍保存到了t中,但在if比较时候没有用到t,无法将1移到最前面。 

从而无法得到最终结果。 

正确版

void InsertSort(vector<int>& nums)
{for (int i = 0; i < nums.size()-1; ++i){int end = i;int t = nums[end + 1];while (end >= 0){if (t < nums[end]) nums[end + 1] = nums[end];else break;--end;}nums[end + 1] = t;}
}

http://www.lryc.cn/news/356066.html

相关文章:

  • Unity 权限 之 Android 【权限 动态申请】功能的简单封装
  • 跟进2年弄丢1.8亿,你的大客管理错在哪里?
  • 浅说线性DP(上)
  • leetcode题目18
  • 后端企业级开发之yaml数据序列化格式文件详解2024
  • 智能界面设计:数字孪生与大数据结合的美学典范
  • 听说部门来了个00后测试开发,一顿操作给我整麻了
  • Linux shell命令
  • 【Linux】Linux基本指令1
  • 重学java 49 增强for
  • BUUCTF靶场[Web] [极客大挑战 2019]Havefun1、[HCTF 2018]WarmUp1、[ACTF2020 新生赛]Include
  • 现代信号处理11_Spectral Analysis谱分析(CSDN_20240526)
  • C#开发上位机应用:基础与实践
  • 话术巧妙分隔沟通效果更佳看看这个小技巧
  • 【Spring】设计模式(GOF)
  • php抖音详情和关键词搜索api
  • SOCKS 代理 和 HTTP 代理
  • 【Linux】自己实现一个bash进程
  • 记录深度学习GPU配置,下载CUDA与cuDnn
  • Word将表格调成合适的大小
  • 2024HBCPC:C Goose Goose Duck
  • Llama 3 模型家族构建安全可信赖企业级AI应用之使用 Llama Guard 保护大模型对话 (八)
  • 《一地霜白》读书笔记
  • 在Java中实现多线程之间的通信
  • Python中的json.dump与json.dumps对比
  • 【从零开始学习RabbitMQ | 第二篇】如何确保MQ的可靠性和消费者可靠性
  • 常用批处理命令及批处理文件编写技巧
  • android NetworkMonitor记录
  • OSPF优化——OSPF减少LSA更新量2
  • 【AMS】Android 8.0+ 绕开启动后台Service限制