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

wordpress5.2下载安徽百度关键词优化

wordpress5.2下载,安徽百度关键词优化,做网站营销公司,全国商务网站大全8640 希尔(shell)排序 时间限制:1000MS 代码长度限制:10KB 提交次数:1858 通过次数:1304 题型: 编程题 语言: G;GCC Description 用函数实现希尔(shell)排序,并输出每趟排序的结果,初始增量dn/2,其后dd/2 输入格式 第一行:键盘输入待排序关键的个…

8640 希尔(shell)排序

时间限制:1000MS  代码长度限制:10KB
提交次数:1858 通过次数:1304

题型: 编程题   语言: G++;GCC

Description

用函数实现希尔(shell)排序,并输出每趟排序的结果,初始增量d=n/2,其后d=d/2



 

输入格式

第一行:键盘输入待排序关键的个数n
第二行:输入n个待排序关键字,用空格分隔数据


 

输出格式

每行输出一趟排序结果,数据之间用一个空格分隔


 

输入样例

10
5 4 8 0 9 3 2 6 7 1


 

输出样例

3 2 6 0 1 5 4 8 7 9
1 0 3 2 4 5 6 8 7 9
0 1 2 3 4 5 6 7 8 9
#include <iostream>
#include <vector>
using namespace std;// 希尔排序函数
void shellSort(vector<int>& arr) {int n = arr.size();// 初始增量为 n / 2,每趟减半for (int d = n / 2; d > 0; d /= 2) {// 对每个步长d进行插入排序for (int i = d; i < n; ++i) {int key = arr[i];int j = i;// 对 d 间隔的子序列做插入排序while (j >= d && arr[j - d] > key) {arr[j] = arr[j - d];j -= d;}arr[j] = key;}// 输出当前排序结果for (int i = 0; i < n; ++i) {cout << arr[i];if (i < n - 1) cout << " ";}cout << endl;}
}int main() {int n;cin >> n;vector<int> arr(n);// 输入数据for (int i = 0; i < n; ++i) {cin >> arr[i];}// 执行希尔排序shellSort(arr);return 0;
}

 

希尔排序(Shell Sort)是插入排序的一种改进版本,由 Donald Shell 在 1959 年提出。它主要是为了克服普通插入排序在数据量大时效率低的问题,通过分组让数据更快地接近有序。


🧠 原理简介:

希尔排序的核心思想是:

先将整个待排序的序列按某个“步长(gap)”分成若干组,对每组分别进行插入排序。随后逐渐减小步长,再次进行分组插入排序,最终步长减小到 1 时,整个序列已经基本有序,再做一次插入排序就可以很快完成。


🔁 步骤演示(假设 n=10):

输入序列:

5 4 8 0 9 3 2 6 7 1
  1. 第一轮:gap = n / 2 = 5
    分成 5 组进行插入排序:

    • 第1组: 5 3

    • 第2组: 4 2

    • 第3组: 8 6

    • 第4组: 0 7

    • 第5组: 9 1
      排完得到(示例):

    3 2 6 0 1 5 4 8 7 9
    
  2. 第二轮:gap = 2
    对间隔为 2 的元素进行插入排序

  3. 第三轮:gap = 1(即普通插入排序)
    数组已经基本有序,这一步非常快。

http://www.dtcms.com/wzjs/281963.html

相关文章:

  • 找人建设网站巨量引擎官网
  • 推荐网站建设服务话术站长之家字体
  • 网站建设方案下载全网营销推广方案
  • 湖南建设网站哈尔滨最新
  • 秦皇岛手机网站制作价格互联网销售是什么意思
  • 石家庄兼职建站产品推广平台排行榜
  • 电脑什么软件可以做动漫视频网站广告联盟平台
  • 哪里可以检测艾滋病荆州seo推广
  • 赤峰最好的网站建设公司百度seo怎么操作
  • 如何分析竞争对手的网站疫情最新情况
  • 沈阳建设工程管理中心自己怎么优化关键词
  • 中山做外贸网站网络广告一般是怎么收费
  • 多语言网站建设费用外贸营销网站建站
  • 国际著名平面设计作品网站关键词免费优化
  • 怎样做网站卖手机号百度搜索网页
  • 自学java 做网站 多久站长统计ios
  • 雅安网站建设数字营销公司排行榜
  • 网站开发能赚钱吗地推扫码平台
  • 石家庄网站优化推广搜狗搜索网页版
  • 怎么做点击图片跳转网站优化防疫政策
  • 武汉网站建设_网页设计_网站制作_网站建设公司_做企业网站公司网上竞价
  • 长沙seo优化价格百度竞价优化
  • pc网站制作APP上海seo顾问
  • 怎么做电影网站服务器站长工具视频
  • 西安建设银行网站google play官网下载
  • wordpress网站代码优化百度的企业网站
  • 做机电证的网站常州seo第一人
  • 四川移动网站建设站长工具seo综合查询下载
  • 怎样做公司网站营销的主要目的有哪些
  • 上海网站制作官网班级优化大师下载安装app