首页 > 系统相关 >Python数据结构与算法05——插入排序 shell排序

Python数据结构与算法05——插入排序 shell排序

时间:2024-02-21 12:00:56浏览次数:38  
标签:aimlist shell cur 05 Python 插入排序 gap while

插入排序 

def insrt_sort(aimlist):
    n=len(aimlist)
    for cur in range(1,n):
        i=cur
        while i>0:
            if aimlist[i]<aimlist[i-1]:
                aimlist[i],aimlist[i-1]=aimlist[i-1],aimlist[i]
                i-=1
            else:
                break
    return aimlist
list=[4,6,2,7,1]
print(insrt_sort(list))

希尔排序

def shell_sort(aimlist):
    n=len(aimlist)
    gap=n//2
    while gap>=1:
        for cur in range(gap,n):
            i=cur
            while i>0:
                if aimlist[i]<aimlist[i-gap]:
                    aimlist[i],aimlist[i-gap]=aimlist[i-gap],aimlist[i]
                    i-=gap
                else:
                    break
        gap=gap//2
    return aimlist
list=[4,6,2,4,2,7,1]
print(shell_sort(list))

 

标签:aimlist,shell,cur,05,Python,插入排序,gap,while
From: https://www.cnblogs.com/yyyjw/p/18024891

相关文章

  • 当systemd停止父python脚本时,子进程退出
    KillMode参数contorl-group(默认)#当前控制组里所有的子进程都会被杀掉process:#只杀主进程mixed:#主进程将收到SIGTERM(终止进程)信号,子进程将收到SIGKILL(无条件终止)信号none:  #没有进程会被杀掉,只是执行服务的stop命令 解决办法将KillMode改成process或non......
  • 使用python进行自动化备份和部署
    1、代码文件deploy.pyimportosfromdatetimeimportdatetimeimportshutilimportsysimportwin32serviceutilimportwin32serviceimporttimeimporttkinterastk#fromtkinterimportfiledialogimportconfigparserimportloggingimportctypes#创建......
  • python更换国内镜像
    永久更改1.在python的命令提示符中运行以下语句,该条语句将pip的下载源永久更改为某个镜像站,这里以清华大学开源镜像站为例:pipconfigsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple/2.windows环境下,在用户目录中创建一个文件夹,该文件夹的命名为pip;在该pip......
  • Windows bat批处理+PowerShell获取文件日期 和 时分秒
    前言全局说明Windowsbat批处理+PowerShell获取文件秒一、说明二、分开获取日期和时分秒获取bat文件自身的日期时间和时分秒1.源码文件名:get-file-second.bat@echooffchcp65001>nulecho.echo.setbak_file=get-file-second.bat::获取文件修改时间setloc......
  • 【2024-02-05】就想一起
    20:00失败并非总是错误的,它可能是我们在当时所能做的最好选择。真正的错误是停止尝试。                                                 ——斯金纳母亲昨晚,再次表达......
  • Python数据结构与算法04——栈与队列
    栈的实现:classStack(object):def__init__(self):self.__list=[]defpush(self,item):self.__list.append(item)defpop(self):returnself.__list.pop()defpeek(self):ifself.__list:returnself._......
  • Python数据结构与算法05——查找与排序
    冒泡排序:defbible_sort(aimlist):n=len(aimlist)j=len(aimlist)whilej>0:foriinrange(n-1):ifaimlist[i]>aimlist[i+1]:aimlist[i],aimlist[i+1]=aimlist[i+1],aimlist[i]n-=1j-=1r......
  • linux(Ubuntu)安装python2.7和pip2
    由于数据处理需要的软件有些老代码,需要安装python2,原服务器上已有python3,本想着使用源码包进行编译安装,奈何make时总是报如下错误,搞半天也没解决 或者  继续往下makeinstall后程序也无法正常执行,于是索性使用apt方式进行安装,过程如下:首先查看当前版本Ubuntu可支持的pyt......
  • xxl_job系列---【GLUE(shell)模式如何传多个参数,并被shell接收】
    1.场景我需要传入多个参数,在执行任务时传入的任务参数用逗号隔开,到shell中都被$1当做字符串接收到了,没办法,只能在shell中截取字符串,截成多个参数。2.编辑入参点击“任务管理”->“操作”->“编辑”->“任务参数”:afp,date+%Y%m,zhangsan3.编辑shell脚本点击“任务管理”->......
  • python 爬虫模板
    前言在我们写爬虫的时候,一般想要的数据都在详情页里面,一般代码进入详情页参数,需要首页里面寻找,所以爬这样的网站,需要定义一个模板我的模板如下: importrandomimporttimeimportrequestsfromauctionimportlogtoolfromauction.BaseCrawlerimportBaseCrawlercla......