""" 要掌握冒泡排序 选择排序 插入排序 快速排序的实现方法 """ """冒泡排序 冒泡排序算法的运作: 1、比较相邻元素,如果第一个比第二个大(升序),就交换他们两个 2、对每一对相邻元素做同样的工作,从开始到结尾的最后一对,这步做完后,最后的元素会是最大的数 3、针对所有的元素重复以上的步骤,除了最后一个 4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较 """ li = [1,2,3,32,23,65,12,13,11,9,0] def bubble_sort(alist): for i in range(len(alist)-1,0,-1): for j in range(i): if alist[j] > alist [j+1]: alist[j],alist[j+1] = alist[j+1],alist[j] bubble_sort(li) print(li) """ 选择排序: 是一种简单直观的排序算法。它的工作原理如下: 首先在未排序中找到最小会最大元素,存放到排序序列的起始位置,然后,再从剩余未培训元素中继续寻找最小 最大元素,然后方法已排序的序列的末尾 以此类推,直到所有元素排序完成 运作方法: 第一步:要找到最小值 或者最大值 通过比较获取最小值 第二部: 和标记的最小值进行比较,如果比最小值小 那就交换值 """ li = [1,2,3,32,23,65,12,13,11,9,0] def choose_sort(alist): n = len(alist) for i in range(n-1): min_index = i for j in range(i+1,n): if alist[j] < alist[min_index]: # 要和定义的最小值进行比较 比定义的最小值比较小就交换 min_index = j if min_index != i: alist[i],alist[min_index] = alist[min_index],alist[i] choose_sort(li) print(li) """ 插入排序: 是一种简单直观的排序算法。工作原理是 通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描, 找到相应位置插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已经排序的元素逐步向后挪位,为 最新元素提供插入空间 """ def insert_sort(alist): for i in range(1,len(alist)): for j in range(i,0,-1): if alist[j]<alist[j-1]: alist[j],alist[j-1] = alist[j-1],alist[j] li = [1,2,3,32,23,65,12,13,11,9,0] insert_sort(li) print(li)
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Richard_Kong
"""
要掌握冒泡排序
选择排序
插入排序
快速排序的实现方法
"""
"""冒泡排序
冒泡排序算法的运作:
1、比较相邻元素,如果第一个比第二个大(升序),就交换他们两个
2、对每一对相邻元素做同样的工作,从开始到结尾的最后一对,这步做完后,最后的元素会是最大的数
3、针对所有的元素重复以上的步骤,除了最后一个
4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
"""
li = [1,2,3,32,23,65,12,13,11,9,0]
def bubble_sort(alist):
for i in range(len(alist)-1,0,-1):
for j in range(i):
if alist[j] > alist [j+1]:
alist[j],alist[j+1] = alist[j+1],alist[j]
bubble_sort(li)
print(li)
"""
选择排序:
是一种简单直观的排序算法。它的工作原理如下:
首先在未排序中找到最小会最大元素,存放到排序序列的起始位置,然后,再从剩余未培训元素中继续寻找最小 最大元素,然后方法已排序的序列的末尾
以此类推,直到所有元素排序完成
运作方法:
第一步:要找到最小值 或者最大值 通过比较获取最小值
第二部: 和标记的最小值进行比较,如果比最小值小 那就交换值
"""
li = [1,2,3,32,23,65,12,13,11,9,0]
def choose_sort(alist):
n = len(alist)
for i in range(n-1):
min_index = i
for j in range(i+1,n):
if alist[j] < alist[min_index]: # 要和定义的最小值进行比较 比定义的最小值比较小就交换
min_index = j
if min_index != i:
alist[i],alist[min_index] = alist[min_index],alist[i]
choose_sort(li)
print(li)
"""
插入排序:
是一种简单直观的排序算法。工作原理是 通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,
找到相应位置插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已经排序的元素逐步向后挪位,为
最新元素提供插入空间
"""
def insert_sort(alist):
for i in range(1,len(alist)):
for j in range(i,0,-1):
if alist[j]<alist[j-1]:
alist[j],alist[j-1] = alist[j-1],alist[j]
li = [1,2,3,32,23,65,12,13,11,9,0]
insert_sort(li)
print(li)
原文:https://www.cnblogs.com/1050619969kong/p/15173907.html