时间:2018-11-07
概述:排序 选择法
本代码主要是Python利用选择法对10个数进行排序,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。
nums=[int(x) for x in input('请输入多个数,以空格分开:').split()]
#Python给的方法
print(sorted(nums))#重新构造一个排序的list
#print(nums.sort())#在原list上排序
#按照题目的选择排序算法
n=len(nums)
for i in range(n):
mindex=i
for j in range(i+1,n):
if nums[mindex]>nums[j]:
mindex=j
if mindex!=i:
nums[i],nums[mindex]=nums[mindex],nums[i]
print(nums)
#Python的排序算法是优化过的,效率很高
#如果非要自己实现请参考其他排序算法,如堆排序、归并排序、快速排序等
'''
#原程序
if __name__ == "__main__":
N = 10
# input data
print 'please input ten num:\n'
l = []
for i in range(N):
l.append(int(raw_input('input a number:\n')))
for i in range(N):
print l[i]
# sort ten num
for i in range(N - 1):
min = i
for j in range(i + 1,N):
if l[min] > l[j]:min = j
l[i],l[min] = l[min],l[i]
print 'after sorted'
for i in range(N):
print l[i]
'''