首页 > 其他分享 >希尔排序

希尔排序

时间:2024-04-20 09:22:23浏览次数:21  
标签:int 插入排序 元素 希尔 增量 序列 排序

#include <bits/stdc++.h>
using namespace std;
int main(){
	string a="liuyixing"; 
	for(double i=9;i>1;){
		i=round(i/2);
		for(int j=0;j+i<9;j++){
			if(a[j]>a[j+(int)i]){
				swap(a[j],a[j+(int)i]);
			}
		}
	}
	for(int i=0;i<9;i++){
		cout<<a[i]<<" ";
	}

  //对一维数组中的十个数据进行从小到大排序:

基本思想:是直接插入排序的进阶版本

将整个待排序元素序列分割成若干个子序列

(由相隔某个“增量”的元素组成)分别进行直接插入排序然后缩减增量再进行排序

待整个序列中的元素基本有序(增量足够小)时,在对全体元素进行一次直接插入排序

标签:int,插入排序,元素,希尔,增量,序列,排序
From: https://www.cnblogs.com/fushuxuan/p/18147200

相关文章

  • JZ33 二叉排序树的后序遍历序列
    classSolution{public://判断该数组是不是某二叉搜索树的后序遍历的结果。//如果是则返回true,否则返回false//注意传入参数是一个int类型的vector容器boolVerifySquenceOfBST(vector<int>sequence){if(sequence.empty()) //二叉树......
  • el-table实现自定义排序事件
    说明在项目开发中,需求有时会需要通过调取接口去实现表格数据排序。实现要点在el-table-column中定义sortable="custom"属性在el-table中定义@sort-change="自定义排序事件"代码...<el-table:data="list"@sort-change="handleSort"ref="tableRef">......
  • LinkedHashMap排序
    importjava.util.LinkedHashMap;importjava.util.Map;importjava.util.TreeMap; publicclassSortLinkedHashMapByKey{publicstaticvoidmain(String[]args){//创建一个LinkedHashMapLinkedHashMap<Integer,String>linkedHashMap=newLinkedHashMap<......
  • JZ36二叉树排序树与双向链表
    /*structTreeNode{ intval; structTreeNode*left; structTreeNode*right; TreeNode(intx): val(x),left(NULL),right(NULL){ }};*/#include<cstddef>classSolution{public: TreeNode*ans=nullptr; //最终的链表 TreeNode*pre=nullptr; ......
  • 排序
    排序算法直接插入折半插入冒泡排序简单选择排序快速排序堆排序实现以及使用c++#include<iostream>#include<algorithm>#include<queue>usingnamespacestd;voidhalf_insert_sort(intnums[],intsize){ //将新数字插入到有序数组中 //使用折半查找寻找插入......
  • 06-排序 分页 过滤
    排序查询多条和全部才会用到排序排序关键字:ordering查询字符串查询字符串(QueryString)是指在URL中以问号(?)开始的部分,用于向服务器传递参数。它由一个或多个键值对组成,每个键值对之间用&符号分隔。例如,在以下URL中,查询字符串是?page=2&category=books:在django种如......
  • C++排序问题
    冒泡排序若得到一个从小到大的数组例如:3527481角标:1234567就是角标1和角标2比,若1大于2,就交换位置,然后角标2和角标3比,若2大于3,就交换位置第一趟:3254718第二趟:2345178以此类推。。。。点击查看代码#include<bits/stdc++.h>usingnamespaces......
  • drf之认证、权限、频率控制、排序、过滤、分页
    【认证】models.py1fromdjango.dbimportmodels234#Createyourmodelshere.5classUser(models.Model):6username=models.CharField(max_length=50)7password=models.CharField(max_length=50)8user_type=models.IntegerFiel......
  • js带注释的冒泡排序算法
    一、简述冒泡排序(BubbleSort)是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果二者的顺序(如从大到小、首字母从A到Z)错误就交换。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法......
  • list集合的排序
    list集合的排序使用常用的sort方法排序和stream流的方式排序packagecom.liucy.meiriyilian.sort;importjava.util.ArrayList;importjava.util.Collections;importjava.util.Comparator;importjava.util.List;importjava.util.stream.Collectors;/***@Authorli......