python排序算法

1、冒泡排序:

 import math
def BubbleSort(list):
lengthOfList = len(list)
for i in range(0,lengthOfList-1):
for j in xrange(i+1,lengthOfList):
if list[i]>list[j]:
temp = list[i]
list[i] = list[j]
list[j] = temp
bList = [1,12,2,4,51,66,45,25,96,78,55,23]
print bList
BubbleSort(bList)
print bList

2、插入排序:

 import math
def InsertSort(list):
lengthOfList = len(list)
for i in range(1,lengthOfList):
  cur = list[i]
  temp = i
  while i>0 and list[temp - 1]>cur:
    list[temp] = list[temp-1]
    temp = temp -1
    list[temp] = cur
bList = [1,12,2,4,51,66,45,25,96,78,55,23]
print bList
InsertSort(bList)
print bList

3、选择排序:

 import math
def SelectSort(list):
lengthOfList = len(list)
for i in range(0,lengthOfList-1):
  pos = i
  for j in range(i + 1,lengthOfList):
    if list[j]<list[pos]:
      pos = j
  if pos != i:
    temp = list[i]
    list[i] = list[pos]
    list[pos] = temp
bList = [1,12,2,5,51,66,45,25,96,78,55,23]
print bList
SelectSort(bList)
print bList

4、快速排序算法:

 #快速排序的原理是将取出第一个数,将整个数组分为两波,一拨都大于这个数,另一波都小于这个数,
#然后递归用同样的方法处理第一波数字和第二波数字。
import math
def QuickSort(list):
low = 0
high = len(list) - 1
if low < high:
s, i, j = list[low], low, high
while i < j:
while i < j and list[j] >= s:
j = j - 1
if i < j:
list[i] = list[j]
i = i + 1
while i < j and list[i] <= s:
i = i + 1
if i < j:
list[j] = list[i]
j = j - 1
list[i] = s
QuickSort(list, low, i - 1)
QuickSort(list, i + 1, high)
bList = [1,12,2,5,51,66,45,25,96,78,55,23]
print bList
QuickSort(bList,0,11)
print bLis

学习python之练习(三)的更多相关文章

  1. 学习python,第三篇:.pyc是个什么鬼?

    .pyc是个什么鬼? 1. Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存 ...

  2. 学习python的第三天

    4.28日总结 一.关于python 1.交互式 说一句解释一句 2.命令行式 1.编写文件并且保存 2.打开python解释器,在pyrhon中打开文本,读入内存(python打开的时候,翻译不是瞬 ...

  3. 学习Python的三种境界

    前言 王国维在<人间词话>中将读书分为了三种境界:"古今之成大事业.大学问者,必经过三种之境界:'昨夜西风凋碧树,独上高楼,望尽天涯路'.此第一境也.'衣带渐宽终不悔,为伊消得人 ...

  4. Python 学习日记(第三周)

    知识回顾 在上一周的学习里,我学习了一些学习Python的基础知识下面先简短的回顾一些: 1Python的版本和和安装 Python的版本主要有2.x和3.x两个版本这两个版本在语法等方面有一定的区别 ...

  5. python socket+tcp三次握手四次撒手学习+wireshark抓包

    Python代码: server: #!/usr/bin/python # -*- coding: UTF-8 -*- # 文件名:server.py import socket # 导入 socke ...

  6. Python学习 —— 阶段综合练习三

    Python学习 —— 阶段综合练习三 综合之前文件与文件夹操作的学习,做以下实例练习:(建议先不要看代码,自己先试着写:代码仅供参考,有多种实现方法) 1. 目录文件遍历(二层目录结构) 1).  ...

  7. Python学习--Python基础语法

    第一个Python程序 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码. linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗 ...

  8. 学习Python不得不关注和学习的国外大神博客

    注意 : 本文收集于网路 . 由于常常更新 , 有些链接打不开, 请自备梯子 在学习Python过程中,总会遇到各种各样的坑, 虽然Python是一门优美而简单易学的语言 . 但当学习后 , 总想着更 ...

  9. Python3 学习Python流程--试水中

    二.基础语法之后可以搭载服务器练习: 教程 一.1.Python 搭建环境. 初学基本语法 :Python基本语法 2.推荐 IDE :  PyCharm CE 下载 菜鸟教程都是基础语法,可以对py ...

  10. 【转】布同:如何循序渐进学习Python语言

    大家都知道Python语言是一种新兴的编程语言.1989年,Python就由Guido van Rossum发明.Python一直发展态势很好. 原因有几点:1.跨平台性好.Linux.Windows ...

随机推荐

  1. Spark Streaming、Kafka结合Spark JDBC External DataSouces处理案例

    场景:使用Spark Streaming接收Kafka发送过来的数据与关系型数据库中的表进行相关的查询操作: Kafka发送过来的数据格式为:id.name.cityId,分隔符为tab zhangs ...

  2. 调用jar程序,读取与jar同级的配置文件。

    System.getProperty("user.dir") + "\\Mysettings.properties";//该方法在Alimonitor里取不到绝 ...

  3. [清理页面缓存]asp.net、html

    (1)   MVC BaseController: Controller内 protected override void Initialize(System.Web.Routing.RequestC ...

  4. jQuery MD5加密实现代码

    $(md("你想要加密的字符串")); md5插件下载地址:http://xiazai.jb51.net/201003/yuanma/jquery_md5.rar 下面是我的简单例 ...

  5. ffmpeg去logo<转>

    用到 video filter —— delogo 通过周围像素插值去除 logo. 参数介绍: x y (必须)指定 logo 的坐标. w h (必须)指定 logo 的宽和高. band, t ...

  6. JQuery之正则表达式

    1.定义正则表达式 /.../  用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m 表示多行匹配 2.匹配正则表达式 非全局模式,不分组 var patte ...

  7. C# 远程网络唤醒介绍及代码

    一.定义 网络唤醒:唤醒休眠状态下的计算机,而不是已关机的计算机. 优势:可通过定时功能实现自动唤醒计算机,减少人力使用. 实现方法:通过被唤醒机的MAC地址进行广播发送请求,唤醒计算机. 二.硬件设 ...

  8. 关于YUV格式数据

    (1) YUV格式有两大类:planar和packed.对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V.对于packed的YUV格式,每个像素点 ...

  9. [笔记]Altera系列01:常用资料下载链接

    Altera官方文档 Altera Product Catalog 外部存储器规范估算器 To be continued.

  10. 1-9 TCP/IP参考模型

    ISO/OSI参考模型与TCP/IP模型对比 一.网络访问层 功能:包括IP地址与物理硬件地址的映射以及将IP地址封装成帧. 基于不同类型的网络接口,网路访问层定义了和物理介质的连接 网路访问层包含了 ...