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

机械配件网站建设用jquery做的书籍网站

机械配件网站建设,用jquery做的书籍网站,合肥本地建网站,自己做的网站放到首页个人主页:Lei宝啊 愿所有美好如期而遇 前言: 这两个排序在思路上有些相似,所以有人觉得插入排序和希尔排序差别不大,事实上,他们之间的差别不小,插入排序只是希尔排序的最后一步。 目录 前言:…

个人主页:Lei宝啊

愿所有美好如期而遇


前言:

这两个排序在思路上有些相似,所以有人觉得插入排序和希尔排序差别不大,事实上,他们之间的差别不小,插入排序只是希尔排序的最后一步。


目录

前言:

插入排序:

思路:

图解:

代码:

希尔排序:

思路:

图解:

代码:


插入排序:

思路:

当我们有了一个有序的数组arr,假设为升序,现在向里面插入一个新数据。

我们假设这个数组有n个元素,最后一个元素的下标我们记作end,那么要插入的这个数下标为end+1,并用tmp记下这个数的大小。

接下来,如果tmp小于arr[end],那么arr[end+1] = arr[end];  end--,

              如果tmp大于等于arr[end],那么break;   arr[end+1] = tmp;  

重复上述操作,直到end < 0或者break跳出


那么面对一个无序的数组,我们可以将第一个元素当做有序,第二个元素为新插入元素,依次类推排序

图解:

代码:

void InsertSort(int* arr, int n)
{//i == n - 2时,temp = arr[n - 1];for (int i = 0; i < n - 1; i++){int end = i;int temp = arr[end + 1];//此处画个图,end小于0跳出循环while (end >= 0){if (temp < arr[end]){//插入的值比end小,end值向后移动一位arr[end + 1] = arr[end];end--;}else{break;}}//写在循环外的原因是如果while循环不是break出来的//会导致第一个元素值重复,插入的值最后未插入进去arr[end + 1] = temp;}}

希尔排序:

思路:

希尔排序比插入排序多的就是预排序,而预排序的目的就是让大的数据/小的数据更快的被排到后面去,因为越接近有序的数据,使用插入排序时时间复杂度越接近O(N),而我们的希尔排序最后一步等同于插入排序

图解:

以代码一为例:

代码:

两个代码没有什么差别,只是一个是一组一组排,一个是并排。

代码一:
void ShellSort(int* arr, int n)
{int gap = n;while (gap > 1){//多组预排序,最后接近有序时插入排序gap /= 2;//完成一趟预排序for (int j = 0; j < gap; j++){//完成一组预排序for (int i = j; i < n - gap; i += gap){//走一组中的一个位置的预排序int end = i;int temp = arr[end + gap];while (end >= 0){if (temp < arr[end]){arr[end + gap] = arr[end];end -= gap;}else{break;}}arr[end + gap] = temp;}}}}
代码二:
void ShellSort(int* arr, int n)
{int gap = n;while (gap > 1){//多组预排序,最后接近有序时插入排序gap /= 2;//等同于上面的希尔排序,不是分组排了,而是并排for (int i = 0; i < n - gap; i++){//走一组中的一个位置的预排序int end = i;int temp = arr[end + gap];while (end >= 0){if (temp < arr[end]){arr[end + gap] = arr[end];end -= gap;}else{break;}}arr[end + gap] = temp;}	}
}

http://www.yayakq.cn/news/261261/

相关文章:

  • 长沙做电商网站设计织梦同时运行多个网站
  • 做销售在哪些网站发贴雄安免费网站建设
  • 如何提高景区旅游网站建设wordpress备份百度云
  • 怎么建自己的销售网站西安网络营销学习网站
  • 网站构造下拉列表怎么做网站建设推广平台
  • 如何在网站上做免费广告企业标志设计
  • 网站上面的在线咨询是怎么做的建设银行网络平台
  • 湖北工程公司建设公司网站韩国美食网站建设目的
  • 电子商务网站调研企业vi设计说明
  • it外包公司为什么不能去许昌seo推荐
  • 网站建设的方案预算泰安集团
  • 网站后台管理页面模板wordpress英文站
  • 合肥seo建站网站后台制作这么做
  • 合肥网站的建设华为云建站怎么样
  • 北京网站整站优化爱站网关键词挖掘查询工具
  • 网站原创文章在哪里找简答题网站建设步骤
  • 浙江省建设厅网站证件网站302跳转
  • 商务网站建设的必备功能一家公司可以做几个网站
  • 营销型网站的域名wordpress 相册 主题
  • 国内知名网站建设排名建设网站规划书
  • 在线做分析图的网站电子商务网站建设与管理的理解
  • 网站续费怎么做帐手机设计效果图制作软件
  • 搜索引擎不收录网站流程图 网站
  • 辞职做美食网站品牌建设对企业的发展的作用
  • 中企动力做过的网站网站ico图标怎么做
  • 做搜狗手机网站制作图片模板
  • 织梦网站模板视频佛山刚刚发生的事
  • 宜昌网站建设选择宜昌慧享互动免费发帖推广网站
  • 学校网站php源码全国当先的网络建站推广
  • 伤豆丁文库网站开发网站开发微博