学习python之练习(三)
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之练习(三)的更多相关文章
- 学习python,第三篇:.pyc是个什么鬼?
.pyc是个什么鬼? 1. Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存 ...
- 学习python的第三天
4.28日总结 一.关于python 1.交互式 说一句解释一句 2.命令行式 1.编写文件并且保存 2.打开python解释器,在pyrhon中打开文本,读入内存(python打开的时候,翻译不是瞬 ...
- 学习Python的三种境界
前言 王国维在<人间词话>中将读书分为了三种境界:"古今之成大事业.大学问者,必经过三种之境界:'昨夜西风凋碧树,独上高楼,望尽天涯路'.此第一境也.'衣带渐宽终不悔,为伊消得人 ...
- Python 学习日记(第三周)
知识回顾 在上一周的学习里,我学习了一些学习Python的基础知识下面先简短的回顾一些: 1Python的版本和和安装 Python的版本主要有2.x和3.x两个版本这两个版本在语法等方面有一定的区别 ...
- python socket+tcp三次握手四次撒手学习+wireshark抓包
Python代码: server: #!/usr/bin/python # -*- coding: UTF-8 -*- # 文件名:server.py import socket # 导入 socke ...
- Python学习 —— 阶段综合练习三
Python学习 —— 阶段综合练习三 综合之前文件与文件夹操作的学习,做以下实例练习:(建议先不要看代码,自己先试着写:代码仅供参考,有多种实现方法) 1. 目录文件遍历(二层目录结构) 1). ...
- Python学习--Python基础语法
第一个Python程序 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码. linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗 ...
- 学习Python不得不关注和学习的国外大神博客
注意 : 本文收集于网路 . 由于常常更新 , 有些链接打不开, 请自备梯子 在学习Python过程中,总会遇到各种各样的坑, 虽然Python是一门优美而简单易学的语言 . 但当学习后 , 总想着更 ...
- Python3 学习Python流程--试水中
二.基础语法之后可以搭载服务器练习: 教程 一.1.Python 搭建环境. 初学基本语法 :Python基本语法 2.推荐 IDE : PyCharm CE 下载 菜鸟教程都是基础语法,可以对py ...
- 【转】布同:如何循序渐进学习Python语言
大家都知道Python语言是一种新兴的编程语言.1989年,Python就由Guido van Rossum发明.Python一直发展态势很好. 原因有几点:1.跨平台性好.Linux.Windows ...
随机推荐
- oracle判断某个字符在字段里出现过几次
SELECT LENGTH(字段名)-LENGTH(REPLACE(字段名,'字符','')) FROM 表名;
- oracle11g rac asm存储数据迁移
OS:rh6.4 ORACLE 11g RAC ASM OCR和VOTING DISK在crs磁盘组,控制文件.数据文件.参数文件在DATA组. 1.备份数据库 RUN {ALLOCATE CHANN ...
- Windows、VS 与 .net
原文地址:https://msdn.microsoft.com/en-us/library/bb822049(v=vs.110).aspx .NET Framework version CLR ver ...
- linker command failed with exit code 1 (use -vto see invocation)
报这样的错误可能是同一个.m文件同时存在,要先把你新添加的.m文件彻底删除 Move to Trash 点击这个删除.然后clear一下,再在重新添加你所需要的文件即可解决.这次添加不要推进来,需要在 ...
- HTML图像映射
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Orcle基本语句(一)
--创建学生信息表,约束放在所有列定义之后 CREATE TABLE stu_info( stu_id INTEGER, stu_name NVARCHAR2() NOT NULL, stu_sex ...
- TListView Header重绘和高度设置
TListView 的 Header 部分默认 BtnFace 颜色,高度也不能改变.我们可以通过编写一些代码来实现这些功能: 获得TListView 的Header 的句柄: TListView的H ...
- delegate事件绑定
为了代码的健壮性,绑定事件之前先解绑再进行绑定. var _$div = $("#id");_$div.undelegate("click mouseover mouse ...
- html a tag's href javascript issue
a标签的href中写js中遇到的问题(ie中有问题,chrome没问题) <a class="free" href="javascript:{$('#suiteTy ...
- 编程范式 epesode2 negative values, float 精度
episode2 //it is very interesting,an excellect teacher, I love it 1,why negative is indicated the w ...