python输入数组、最大的与第一个元素交换、最小的_Python 最大最先最小最后元素交换,输出数组...

时间: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)

'''

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值