Python 冒泡,选择,插入排序使用实例

yipeiwu_com7年前Python基础

最近学习了python基础,写一下3大排序练练手:

复制代码 代码如下:

'''
Created on 2013-8-23
@author: codegeek
'''
//冒泡排序
def bubble_sort(seq):
    for i in range(len(seq)):
        for j in range(i,len(seq)):
            if seq[j] < seq[i]:
                tmp = seq[j]
                seq[j] = seq[i]
                seq[i] = tmp
//选择排序
def selection_sort(seq):
    for i in range(len(seq)):
        position = i
        for j in range(i,len(seq)):
            if seq[position] > seq[j]:
                position = j
        if position != i:
                tmp = seq[position]
                seq[position] = seq[i]
                seq[i] = tmp
//插入排序
def insertion_sort(seq):
    if len(seq) > 1:
        for i in range(1,len(seq)):
            while i > 0 and seq[i] < seq[i-1]:
                tmp = seq[i]
                seq[i] = seq[i-1]
                seq[i-1] = tmp
                i = i - 1
//       
if __name__ == "__main__":
    print "--------bubble_sort-------------"
    seq = [22,1,33,4,7,6,8,9,11]
    bubble_sort(seq)
    print seq
    print "--------selection_sort-------------"
    seq = [88,44,33,4,7,6,8,9,11]
    selection_sort(seq)
    print seq
    print "--------insertion_sort-------------"
    seq = [777,44,33,4,7,6,1111,100,11]
    insertion_sort(seq)
    print seq

以上就是3则Python中冒泡,选择,插入排序的代码及使用方法了,希望小伙伴们能够喜欢。

相关文章

Java分治归并排序算法实例详解

Java分治归并排序算法实例详解

本文实例讲述了Java分治归并排序算法。分享给大家供大家参考,具体如下: 1、分治法 许多有用的算法在结构上是递归的:为了解决一个给定的问题,算法一次或多次递归地调用其自身以解决紧密相关...

python八皇后问题的解决方法

本文为大家分享了python八皇后问题的解决方法,供大家参考,具体内容如下 题目: 给定一个 N*N 正方形棋盘,在上面放置 N个棋子,又叫皇后,使每两个棋子都不在同一条横线上、竖线上...

用Python编写一个基于终端的实现翻译的脚本

为什么写这个程序,为什么不给这个程序配备gui?原因很简单,因为我是一个命令行控,Linux习惯了不习惯了鼠标,总觉得点着不如敲命令快,各位在看这篇文章就说明和本人有相同的爱好....

使用Python写一个贪吃蛇游戏实例代码

我在程序中加入了分数显示,三种特殊食物,将贪吃蛇的游戏逻辑写到了SnakeGame的类中,而不是在Snake类中。 特殊食物: 1.绿色:普通,吃了增加体型 2.红色:吃了减少体型 3....

Python模块搜索概念介绍及模块安装方法介绍

Python模块搜索概念介绍及模块安装方法介绍

【import模块】 和C中的#include不同,Python中的import语句并不是简单的把一个文件插入另外一个文件。 导入其实是运行时的运算,程序第一次导入指定文件时,会执行以下...