python插入排序算法实例分析

yipeiwu_com7年前Python基础

本文实例讲述了python插入排序算法。分享给大家供大家参考。具体如下:

def insertsort(array): 
  for removed_index in range(1, len(array)): 
    removed_value = array[removed_index] 
    insert_index = removed_index 
    while insert_index > 0 and array[insert_index - 1] > removed_value: 
      array[insert_index] = array[insert_index - 1] 
      insert_index -= 1 
    array[insert_index] = removed_value

另外一个版本:

def insertsort(array): 
  for lastsortedelement in range(len(array)-1): 
    checked = lastsortedelement 
    while array[checked] > array[lastsortedelement + 1] and checked >= 0: 
      checked -= 1 
    #Insert the number into the correct position 
    array[checked+1], array[checked+2 : lastsortedelement+2] = array[lastsortedelement+1], array[checked+1 : lastsortedelement+1] 
  return array

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python字典序问题实例

本文实例讲述了python字典序问题,分享给大家供大家参考。具体如下: 问题描述: 将字母从左向右的次序与字母表中的次序相同,且每个字符最大出现一次..例如:a,b,ab,bc,xyz等...

python字符串排序方法

本文以实例形式简述了Python实现字符串排序的方法,是Python程序设计中一个非常实用的技巧。分享给大家供大家参考之用。具体方法如下: 一般情况下,python中对一个字符串排序相当...

python实现的汉诺塔算法示例

python实现的汉诺塔算法示例

本文实例讲述了python实现的汉诺塔算法。分享给大家供大家参考,具体如下: 规则: 圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定 在小圆盘上不能放大圆盘 在三根...

python 二维数组90度旋转的方法

如下所示: #!/usr/bin/env python #-*- coding: utf-8 -*- """ [0, 1, 2, 3] [0, 1, 2, 3] [0, 1, 2...

python单线程实现多个定时器示例

单线程实现多个定时器 NewTimer.py复制代码 代码如下:#!/usr/bin/env python from heapq import *from threading impor...