python实现排序算法(一)——插入排序算法
2017-11-21 16:12
561 查看
''' 插入排序算法 原始数据data 排序数据后数据SortedData,默认是从小打大排序 1.从data第一个元素开始,该元素赋值给SortedData[0],可以认为SortedData已经被排序 2.取出data的一个元素data[i], (1)从左到右扫描SortedData, 如果data[i]小于SortedData的某个元素SD,那么将data[i]插入SD的位置,选取下一个元素 (1)如果data[i]大于SortedData最后一个元素,将data[1]插入到SortedData的末尾,选取下一个元素 3.重复步骤2 ''' #/usr/bin/env python #coding:utf-8 #__author__= “livermorium116” import random import time class InsertionSorted(): def __init__(self): self.data=self.dataRand() self.SortedData=[self.data[0]]#默认获得第1个元素, print('排序前:') print('__________________') self.SortedByInsertion() def SortedByInsertion(self): TimeCount=time.time() ##程序计时 TimeCountCPU=time.clock()##CPU计时 for D in self.data[1:]: ##从余下的元素选取 for SD in self.SortedData: ##选取已排序元素中的一个SD if D < SD: tem=self.SortedData.index(SD) self.SortedData.insert(tem,D) print(self.SortedData) break 选取下一元素 if D >= self.SortedData[-1]: ##比较最后一个元素 self.SortedData.append(D) print(self.SortedData) continue TimeCountCPU=time.clock()-TimeCountCPU TimeCount=time.time()-TimeCount print('排序后:\n') print(self.SortedData) print("总排序用时%4f\nCPU用时%4f\n"%(TimeCount,TimeCountCPU)) def dataRand(self): temp=[] for i in range(10): temp.append(random.randint(1,100)) print(temp) print("_____________") return temp if __name__ =="__main__": IS=InsertionSorted()
相关文章推荐
- 排序算法总结-python实现
- Python实现常见的排序算法
- 用Python实现各种排序算法
- python实现各种排序算法
- 排序算法—归并排序算法分析与实现(Python)
- 【Python】用python实现插入排序算法
- python实现各种排序算法
- python 实现8大排序算法
- 用 python 实现 各种排序算法
- 常见排序算法的Python实现
- python实现的几种排序算法
- 插入排序算法的python实现
- 排序算法的python实现
- python实现排序算法(上)
- 八大排序算法的Python实现
- 用Python实现常见排序算法
- 排序算法二:快速排序算法原理以及MATLAB与Python实现
- Python2实现的几种排序算法
- 排序算法的C++ && Python实现---选择排序
- Python 排序算法的实现