#插入排序:i之前的都是已经排好序,给定i,把str[i]交换至恰当位置。
def InsertSort(str):
for i in range(1,len(str),1):
for j in range(i-1,-1,-1):
if str[j]>str[j+1]:
temp=str[j+1]
str[j+1]=str[j]
str[j]=temp
str=[49,27,49,3,38,1,13,76,97,65]
beginTime=time.clock()
InsertSort(str)
endTime=time.clock()
print("插入排序")
print(str)
print(endTime-beginTime)
#选择排序:为排序的队列中选择最小值,放到已排序队列的最后面。
def SelectSort(str):
for i in range(0,len(str)-1):
min=i
for j in range(i+1,len(str)):
if str[j]<str[min]:
min=j
temp=str[i]
str[i]=str[min]
str[min]=temp
str=[49,27,49,3,38,1,13,76,97,65]
beginTime=time.clock()
SelectSort(str)
endTime=time.clock()
print("选择排序")
print(str)
print(endTime-beginTime)
def InsertSort(str):
for i in range(1,len(str),1):
for j in range(i-1,-1,-1):
if str[j]>str[j+1]:
temp=str[j+1]
str[j+1]=str[j]
str[j]=temp
str=[49,27,49,3,38,1,13,76,97,65]
beginTime=time.clock()
InsertSort(str)
endTime=time.clock()
print("插入排序")
print(str)
print(endTime-beginTime)
#选择排序:为排序的队列中选择最小值,放到已排序队列的最后面。
def SelectSort(str):
for i in range(0,len(str)-1):
min=i
for j in range(i+1,len(str)):
if str[j]<str[min]:
min=j
temp=str[i]
str[i]=str[min]
str[min]=temp
str=[49,27,49,3,38,1,13,76,97,65]
beginTime=time.clock()
SelectSort(str)
endTime=time.clock()
print("选择排序")
print(str)
print(endTime-beginTime)
本文介绍了两种基本的排序算法——插入排序和选择排序,并通过Python代码实现了这两种算法。插入排序通过逐步构建有序序列来排序,而选择排序则是从未排序的部分选择最小值加入到已排序的末尾。

被折叠的 条评论
为什么被折叠?



