时间:2018-12-28
概述:数组排序
本代码主要研究Python数组元素交换排序:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
numlist=[int(x) for x in input('请输入一串数字以空格隔开:').split()]
#低效
nums=numlist[:]
maxnum=max(nums)
minnum=min(nums)
m=nums.index(maxnum)
n=nums.index(minnum)
nums[m],nums[0]=nums[0],nums[m]
nums[n],nums[-1]=nums[-1],nums[n]
for x in nums:
print(x)
print('-'*20)
#高效
nums=numlist[:]
m=n=0
for i in range(1,len(nums)):
if nums[i] > nums[m]:
m=i
elif nums[i] < nums[n]:
n=i
nums[m],nums[0]=nums[0],nums[m]
nums[n],nums[-1]=nums[-1],nums[n]
for x in nums:
print(x)
'''
#原程序
def inp(numbers):
for i in range(9):
numbers.append(int(raw_input('input a number:\n')))
numbers.append(int(raw_input('input a number:\n')))
p = 0
def max_min(array):
max = min = 0
for i in range(1,len(array) - 1):
p = i
if array[p] > array[max] : max = p
elif array[p] < array[min] : min = p
k = max
l = min
array[0],array[l] = array[l],array[0]
array[9],array[k] = array[k],array[9]
def outp(numbers):
for i in range(len(numbers)):
print numbers[i]
if __name__ == '__main__':
array = []
inp(array)
max_min(array)
outp(array)
'''