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

音乐分享网站源码家具网站后台模板

音乐分享网站源码,家具网站后台模板,wordpress中文版广告,网络推广协议前言 插入排序是一种简单直观的排序算法,在小规模数据排序或部分有序的情况下插入排序的表现十分良好,今天我将带大家学习插入排序的使用。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.yayakq.cn/news/578503/

相关文章:

  • 深圳网站公司海口网站建设公司排名
  • 做网站推广广告逸阳网站建设的目标
  • ip下的网站吗商丘网站seo
  • 网站权重一直做不上去潍坊seo计费
  • 哈尔滨网站搜索优化公司自学小程序开发
  • 厦门市住房和建设局网站xampp wordpress教程
  • 营销式网站成都创建公司网站
  • 免费网页模板网站中华住房和城乡建设局网站
  • 网站开发浏览器的使用怎么下载爱南宁app呢
  • 高校网站建设与管理问题分析公众号江苏建设信息网站
  • 漯河建设网站重庆公司做网站
  • 网站建设的公司有发展吗太原市建设局网站
  • 页面设计制作网站文章响应式网站
  • 建一个论坛网站怎么建北京网站设计公司兴田德润怎么样
  • seo整站优化外包哪家好晋城建设局网站
  • nodejs 网站开发模块网站建设课程小结
  • 西安在线秦皇岛优化seo
  • 怎样优化网站 优帮云找人帮忙注册app推广
  • 郑州网站优化技巧质量好网站建设商家
  • 外贸营销型网站案例江苏市场监督管理局
  • 一个ip做网站网站开发技术的发展
  • 四位一体网站开发市场调研的内容
  • 简单免费自建网站石家庄网站建设外包公司排名
  • 网站关键词有什么用网络营销促销形式
  • 网站涉及敏感视频等该怎么做wordpress 赞 分享
  • 怎么做网站背景图片wordpress导入sql
  • 餐饮网站建设方案廊坊网站建设系统
  • 特克斯与凯科斯群岛域名官方网站做网站不搭建本地环境
  • 商务网站建设设计结构内容360网站兼容模式
  • 银行收取网站建设费的会计科目北京pc28网站