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

摄影图片网站温州seo公司

摄影图片网站,温州seo公司,微信网站后期运营怎么做,求网站前言 插入排序是一种简单直观的排序算法,在小规模数据排序或部分有序的情况下插入排序的表现十分良好,今天我将带大家学习插入排序的使用。let’s go ! ! ! 插入排序 插入排序的基本思想是将待排序的序列分为已排序和未排序两部分。初始时&#xff0c…

前言
插入排序是一种简单直观的排序算法,在小规模数据排序或部分有序的情况下插入排序的表现十分良好,今天我将带大家学习插入排序的使用。let’s go ! ! !
在这里插入图片描述

插入排序

插入排序的基本思想是将待排序的序列分为已排序和未排序两部分。初始时,将第一个元素视为已排序序列,剩下的元素视为未排序部分。然后逐个将未排序部分的元素插入到已排序序列的正确位置,直到所有元素都被插入到已排序序列中。
举个例子:
这是一个数组,我们要对其从小到大排序。
1 6 8 9 5 2 3
根据刚才的思路,我们将1认为是已排序部分,其他的为待排序部分,我们要逐个的将待排序部分的元素插入到已排序部分,首先我们把6插在1的后面,因为,6 > 1,现在6就算是以排序部分,之后的8和9也依次加到后面,现在的已排序部分为1689,我们需要把5插入其中,首先5和9对比,5 < 9,再让5和8对比,5 < 8,再让5和6对比,5 < 6,再让5和1对比,5 > 1,所以5需要插在1和6之间,剩下的2和3也是同理,插入完即可得到目标序列。
下面我们来用代码实现:

#include<stdio.h>
int main()
{int arr[6] = { 1,1,4,5,1,4 };//创建数组for (int i = 1; i < 6; i++){int end = i;//记录当前位置while (end){if (arr[end - 1] > arr[end])//交换位置{int tem = arr[end];arr[end] = arr[end - 1];arr[end-1] = tem;end--;}else//已经插入退出循环{break;}}}return 0;
}

优化
我们会发现在已排序部分是单调的,那么我们是不是就可以使用二分法呢?使用二分法可以大大加快我们插入的效率。当我们通过二分法找到需要插入的位置后,我们要让这个位置到记录的位置这个区间的元素整体后移一格,然后插入这个数字,例如:
1 6 8 9 5
我们通过二分查找找到5要放在1和6中间,那么我们要让6-9后移一格1 6 8 9然后将5插入空处。
代码如下:

#include<stdio.h>
int efcz(int* arr, int right)//二分查找函数
{int end = right + 1;//目标数下标int left = 0;while (left <= right){int mid = (left + right) / 2;if (arr[mid] >= arr[end]){right = mid - 1;}elseleft = mid + 1;}return left;
}
int main()
{int arr[6] = { 1,3,4,5,6,2 };//创建数组for (int i = 1; i < 6; i++){int right = i-1;//右边界int ret = efcz(arr, right);//二分查找插入位置int tem = arr[i];//临时变量for (int j = right; j >= ret; j--)//数组从ret到rihgt整体后移一格{arr[j + 1] = arr[j];}arr[ret] = tem;//插入}return 0;
}

结尾

看到这里的小伙伴们想必都已经掌握了插入排序的使用方法,如果觉得博主讲的不错的话,能不能给博主一个免费的关注,点赞,收藏支持一下呢?博主将持续分享更多知识,关注博主不迷路哦~,我们下期再见!
(对了,今天是圣诞节,小伙伴们圣诞节快乐!)

http://www.rdtb.cn/news/11469.html

相关文章:

  • 注册域名后怎么做网站app推广方案
  • ks免费刷粉网站推广马上刷环球网疫情最新
  • 江西省城乡建设培训中心网站长沙专业seo优化公司
  • 网站 备案号2022搜索引擎
  • 好网站建设公司选择哪家好电商线上推广
  • 独立网站建设简单吗百度关键词优化排名
  • 宜昌网站建设百度不能搜的十大禁词
  • 百度做地图的网站广告服务平台
  • 网站建设案例多少钱连云港百度推广总代理
  • 微信做的地方门户网站线上线下整合营销方案
  • 体检中心 网站建设方案做网络销售如何找客户
  • 白之家 低成本做网站神马移动排名优化
  • 设置网站解析优化设计五年级下册数学答案
  • 网络传媒网站百度快照是什么意思
  • 张家港网站建设培训学校营销软件代理推广
  • 呼和浩特建设委员会网站新媒体营销
  • 网站文章质检可口可乐营销策划方案
  • 商业网站源码百度一下你就知道手机版官网
  • asp.net做网站系统南宁网站建设公司
  • 郑州cms建站模板百度免费资源网站
  • 武清网站开发tjniuhao123网址导航
  • 济南网站建设 行知科技seo是什么意思蜘蛛屯
  • wordpress 优酷视频志鸿优化设计官网
  • 建立网站需要分几部进行整合营销传播最基础的形式是
  • 金方时代做网站怎么样头条权重查询站长工具
  • 嘉定南翔网站建设长沙网站建设服务
  • 聊城做网站的公司信息网站推广优化c重庆
  • 电子商城网站建设方案广东公司搜索seo哪家强
  • asp科技公司网站源码优化大师平台
  • 做订单管理网站用什么软件优化搜索引擎的方法