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

希尔排序

时间:2023-08-15 10:28:45浏览次数:32  
标签:sort tmp random while gap 希尔 li 排序

博客地址:https://www.cnblogs.com/zylyehuo/

# _*_coding:utf-8_*_

import random


def insert_sort_gap(li, gap):
    for i in range(gap, len(li)):  # i 表示摸到的牌的下标
        tmp = li[i]
        j = i - gap  # j指的是手里的牌的下标
        while j >= 0 and li[j] > tmp:
            li[j + gap] = li[j]
            j -= gap
        li[j + gap] = tmp


def shell_sort(li):
    d = len(li) // 2
    while d >= 1:
        insert_sort_gap(li, d)
        d //= 2


li = list(range(10))

random.shuffle(li)
print(li)

shell_sort(li)
print(li)

标签:sort,tmp,random,while,gap,希尔,li,排序
From: https://www.cnblogs.com/zylyehuo/p/17630588.html

相关文章

  • 快速排序
    参考:快速排序算法C++实现(超详细解析!!!!)_c++快速排序_sunny-ll的博客-CSDN博客开发者1024-知乎(zhihu.com)......
  • 拓扑排序 学习笔记
    模板题分析题目求一个图的拓扑序。需要用到拓扑排序。拓扑排序将一张图中的顶点以线性方式进行排序,使得对于任何的顶点\(u\)到\(v\)的有向边\((u,v)\),都可以有\(u\)在\(v\)的前面。并且拓扑排序只能在有向无环图(DAG)中完成。做法:每次找到入度为\(0\)的顶点,将这......
  • table排序
    <el-tablev-loading="fourthloading":data="tableData4"style="width:100%"height="390"  @sort-change="sortChange"ref="fourthtable">//@sort-change  <el-table-columnprop="ti......
  • 大数据处理之高效查询频度排序
    引言在互联网时代,数据量的爆炸增长给数据处理带来了巨大的挑战。本文将介绍如何高效地处理10个每个文件大小为1G的文件,其中每个文件的每一行存放的都是用户的查询(query)。我们的目标是按照查询的频度对这些查询进行排序。为了解决这个问题,我们将借助大数据处理技术,并给出代码示例......
  • 数组奇数偶数分组,并排序
    数组奇数偶数分组,并排序  PHPJS套路也差不多googgirl于2018-07-1916:59:50发布3647收藏2版权对数组按奇数偶数分组,并进行排序python代码实现如下:aa=[32,35,1,2,34,33]even=[]odd=[]foriinaa:ifi%2==0:even.append(i)else:odd.appe......
  • 一个含有奇数和偶数的数组,在js中如何对它进行排序,使得其中奇数升序,偶数还在原来的位置
    一个含有奇数和偶数的数组,在js中如何对它进行排序,使得其中奇数升序,偶数还在原来的位置?ZWMLLL于2019-05-0912:00:00发布1222收藏1文章标签:JS版权思路:我们可以返回数组array中的奇数,形成一个新的奇数odd数组(利用filter()返回),同时在建立一个位置place数组来保存每个奇数的位置......
  • laravel 操作collect()进行排序和分页
    useIlluminate\Support\Collection;useIlluminate\Pagination\LengthAwarePaginator;useIlluminate\Pagination\Paginator;//...//创建一个示例集合$collection=collect([['name'=>'John','age'=>30],['......
  • 数据结构与算法 --- 如何分析排序算法
    引言排序算法是最基础的算法,对于排序算法,除学习算法原理,代码实现之外,更重要的是学习每个算法的特点,知道在什么场景下选择那种算法。那一定是选择时间复杂度最低的排序算法就是最优的吗?可以从以下几个方面分析一下。排序算法的执行效率对于排序算法的执行效率,一般从以下几个方......
  • C语言快速排序降序实现
    C语言快速排序降序实现快速排序是一种常用的排序算法,其灵活性和高效性使其成为程序员们喜爱的排序方式之一。在这篇文章中,我们将探讨如何使用C语言来实现快速排序算法,并实现一个降序排序的例子。C语言快速排序降序实现快速排序算法基于分治的思想,通过选取一个基准元素,将待排序......
  • Tita 升级|OKR 新增表格展示与自由拖动排序
    升级详情Tita-OKR和新绩效一体化管理平台一、【OKR】支持切换表格模式展示1.切换入口OKR展示页面点击右上角可进行切换.注意:如果前期将OKR列表在筛选中默认记住了其他排序(创建时间,更新时间等),无法支持,需切换回「自定义排序」才允许拖动。可以进入右上角OKR周期后面......