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

专业定制网站建设团队最新发布的手机有哪些

专业定制网站建设团队,最新发布的手机有哪些,wordpress 插件目录,网站建设页面设计规格一、思想 插入排序是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。具体步骤如下,将数组下标为0的元素视为已经排序的部分,从1开始遍历数组,在遍历的过程中当前元素从…
一、思想

插入排序是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。具体步骤如下,将数组下标为0的元素视为已经排序的部分,从1开始遍历数组,在遍历的过程中当前元素从当前位置开始在已经排序的部分中寻找到合适的位置并插入,直到遍历完整个数组。

二、图解

图解

初识时遍历指针指向下标为1的元素

此时在已排序部分[0 , i - 1]开始寻找合适的位置进行插入,先将i位置的值进行记录,然后开始定义指针在已排序区间寻找

在j从i-1遍历向0的过程中,拿arr[j]与存储的变量t进行比较,因为前部分都是已排序部分,所有在进行比较时会出现两种情况:1》arr[j] > t 说明此时j位置并不是t要插入的位置,这个时候我们可以让j+1的位置修改为arr[j],然后j--继续去比较 2》arr[j] < =t, 此时说明j位置就是t要插入的位置,我们可以结束j的遍历然后让j + 1位置的值更改为t

此时i指针继续向后遍历,j依旧指向i-1向0遍历寻找arr[i]也就是t要插入的位置

i再往后遍历,重复上述过程

这个时候arr[j] > t,于是让arr[j+1]=arr[j]

依旧是arr[j] > t,于是让arr[j+1]=arr[j]

接着i++,继续重复这个过程

说明:上述寻找t的插入位置的过程我们也可以通过二分在已排序的区间中寻找到t该插入的位置,在寻找到t要插入的位置后,在插入t之前,我们要先将t要插入的位置到i-1的区间所有的值都后移一位

三、代码实现

C++

void insert_sort(vector<int>& arr) {for (int i = 1; i < arr.size(); i++) {int j = i - 1, t = arr[i];for (j = i - 1; j >= 0; j--) {if (arr[j] > t) {arr[j + 1] = arr[j];} else {break;}}arr[j + 1] = t;}
}

Java 

    public static void insertSort(int[] arr) {for (int i = 1; i < arr.length; i++) {int j = i - 1, t = arr[i];for (j = i - 1; j >= 0; j--) {if (arr[j] > t) {arr[j + 1] = arr[j];} else {break;}}arr[j  + 1] = t;}}
http://www.yayakq.cn/news/246899/

相关文章:

  • 用illustrator做网站哪里可以接网站开发项目做
  • 备案核验单 网站类型做一个内容网站多少钱
  • 中国最大的软件公司排名百度seo怎么收费
  • 做网站赚钱全攻略网站密码怎么做
  • 无障碍网站建设推广前景外国建筑网站
  • 做网站卖高仿做了半个月跨境电商不想干了
  • 珠海市网站开发公司桂林最近发生的重大新闻
  • 成绩查询网站怎么做网页制作题库
  • 酒泉市建设局网站招标办房地产行业网站
  • 企业网站备案资料泉州市建设工程质量监督站网站
  • 网站建设dede苏州整站优化
  • 环保网站设计建设论文长沙企业关键词优化
  • 四川大学官方网站规划建设处个人网页制作成品 模板
  • 企业网站建设毕业设计论文少儿编程老师
  • 一个vps建两个网站怎么弄数据库wordpress 大学主题
  • win7做本地网站宣传h5是什么意思
  • 四川市网站建设网页微信文件夹储存在什么位置
  • 网站建设中山网站开发的流程图
  • 山西做网站价格互联网创业项目的效果
  • 免费企业网站报价wordpress小工具插件
  • 多城市网站建设安卓app开发流程
  • 网站建设完成推广精品课程网站建设方案
  • 建站上市公司校园网站建设项目总结报告
  • 网站源码大全最新做钓鱼网站软件下载
  • 网站维护入口湖州找工作网
  • 网上做兼职的网站有哪些网站制作公司大型
  • python网站建设代码手机网站导航模板
  • 华艺网站开发手机应用商店app下载官方网站下载
  • 免费的简历制作厦门网站优化公司
  • 电路板东莞网站建设wordpress 很差