插入排序——Python实现
一、排序思想
排序思想参见:https://www.cnblogs.com/luomeng/p/10583124.html
二、python实现
def InsertSort(arrs):
"""
插入排序
:param arrs: 待排序列 index:有序序列尾元素下标
value:有序序列尾元素值
"""
for i in range(1, len(arrs)):
index = i - 1
value = arrs[i] while index >= 0 and arrs[index] > value:
# 将待插入元素依次与有序序列比较(从右至左),
# 直到找到有序序列中某一元素小于待插入元素或者没有找到比待插入元素小的值;
arrs[index + 1] = arrs[index]
index -= 1 # 将待插入的元素,插入到有序系列中:
# 若找到有序序列中某一个元素小于待插入元素,则将待插入元素插入到该元素后面;
# 若在有序序列中没有找到大于待插入元素的值,则将待插入元素位置不变;
arrs[index + 1] = value arr = [5, 3, 8, 2, 9, 7, 3, 1] InsertSort(arr) print(arr)
插入排序——Python实现的更多相关文章
- 插入排序-Python与PHP实现版
插入排序Python实现 import random a=[random.randint(1,999) for x in range(0,36)] # 直接插入排序算法 def insertionSo ...
- 插入排序——Python实现
插入排序Python实现 # -*- coding: utf-8 -*- # @Time : 2019/10/28 20:47 # @Author : yuzhou_1shu # @Email : y ...
- 插入排序-python实现
def insert_sort(arr): for j in range(1,len(arr)): #从list第二个元素开始 key=arr[j] ...
- 插入排序--python
import random def insert_sort(nums): # 排序趟数 for i in range(1, len(nums)): current = nums[i] pre_inde ...
- [算法导论]插入排序 @ Python
class insertionsort(): def insertion_sort(self,Array): for i in range(1, len(Array)): key = Array[i] ...
- 几种排序算法的学习,利用Python和C实现
之前学过的都忘了,也没好好做过总结,现在总结一下. 时间复杂度和空间复杂度的概念: 1.空间复杂度:是程序运行所以需要的额外消耗存储空间,一般的递归算法就要有o(n)的空间复杂度了,简单说就是递归集算 ...
- 常见排序算法-Python实现
常见排序算法-Python实现 python 排序 算法 1.二分法 python 32行 right = length- : ] ): test_list = [,,,,,, ...
- 十大经典排序算法(python实现)(原创)
个人最喜欢的排序方法是非比较类的计数排序,简单粗暴.专治花里胡哨!!! 使用场景: 1,空间复杂度 越低越好.n值较大: 堆排序 O(nlog2n) O(1) 2,无空间复杂度要求.n值较大: 桶排序 ...
- 十大经典算法 Python实现
十大经典排序算法(python实现)(原创) 使用场景: 1,空间复杂度 越低越好.n值较大: 堆排序 O(nlog2n) O(1) 2,无空间复杂度要求.n值较大: 桶排序 O(n+k) O(n+k ...
随机推荐
- sql指定值排在前面
示例: SELECT COL1 FROM TABLE1 ORDER BY CASE WHEN COL1 = 'A' THEN 1 ELSE 2 END,COL1;//COL1为A的排在最前面,剩下的按 ...
- 百度直接搜IP可以查看本机外网IP
百度直接搜IP可以查看本机外网IP ipconfig在控制台查看的是内网IP
- SpringBoot 启动的时候提示 Field *** in *** required a bean named 'entityManagerFactory' that could not be found.
错误截图 后面发现原来和入口类代码有关. //@SpringBootApplication(scanBasePackages = {"org.jzc.odata.cboard",& ...
- netsh命令操作ipsec
IPsec就是IP安全筛选,本可以在本地安全策略中的窗口上进行操作添加,那么netsh也可以支持命令行操作这部分的内容. 我们的示例是禁止IP地址为192.168.1.10访问财务部某机3389端口 ...
- 02-线性结构3 Reversing Linked List (25 分)
Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elem ...
- linux 查看进程启动时,用户的工作目录
在linux下查看进程大家都会想到用 ps -ef|grep XXX可是看到的不是全路径,怎么看全路径呢?每个进程启动之后在 /proc下面有一个于pid对应的路径例如:ps -ef|grep pyt ...
- 测试sql语句执行速度
DBCC DROPCLEANBUFFERS --清除缓冲区 DBCC FREEPROCCACHE --删除计划高速缓存中的元素 SET STATISTICS io ON SET STATISTICS ...
- 《WCF全面解析》-上册 1-3章 读书笔记
第一章.WCF简介 ESB全称为Enterprise Service Bus,即企业服务总线.把所有的服务统筹到一个总线里面请求和分发,方便管理. WCF(Windows Communication ...
- PHP Variable handling 函数
Variable handling 函数: boolval — 获取变量的布尔值debug_zval_dump — 将内部zend值的字符串表示转储为输出doubleval — floatval 的别 ...
- 转 RMAN: RAC Backup, Restore and Recovery using RMAN
PURPOSE The purpose of this document is to give a quick guide for using RMAN on RAC databases. We wi ...