python解决数组奇数和偶数位置排序问题 您所在的位置:网站首页 python整数排序输出 python解决数组奇数和偶数位置排序问题

python解决数组奇数和偶数位置排序问题

2023-08-18 18:52| 来源: 网络整理| 查看: 265

题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 题目解析:这个题目很简单,只需要判断数组中的元素是奇数还是偶数,然后取出来,放进一个新的数组中就可以了。 下面介绍几种方法: 第一种使用两个数组,一个奇数数组,一个偶数数组,最后返回两个加在一起。

#第一种方法 class Solution: def reOrderArray(self, array): #分别定义两个奇数数组和偶数数组 odd_array = [] even_array = [] #循环判断原数组中的元素是奇数还是偶数,然后分别添加到对应的数组中国 for i in array: if i % 2 != 0: odd_array.append(i) else: even_array.append(i) return odd_array + even_array#注意这里的顺序不要搞错了,奇数在前,偶数在后 test = Solution() test.reOrderArray([1,2,3,4,5]) [1, 3, 5, 2, 4]

当然也可以用一个数组来解决问题

array = list(map(int,input().split(' '))) res = [] for i in array: if i % 2==0: res.append(i) for i in array: if i % 2 == 1: res.append(i) print(" ".join(map(str,res))) 1 3 4 5 4 1 3 5 题目描述

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,且保证奇数和偶数是按照大小顺序排列的 第二种方法,使用冒泡排序的方式

array = list(map(int, input().split(' ')))#输入整数数组 odd_array = []#奇数数组 even_array = []#偶数数组 #奇偶分开 for i in array: if i % 2 == 1: odd_array.append(i) else: even_array.append(i) #奇数数组排序 for i in range(len(odd_array)-1): for j in range(len(odd_array)-1-i): if odd_array[j] > odd_array[j+1]: odd_array[j], odd_array[j+1] = odd_array[j+1], odd_array[j] #偶数数组排序 for i in range(len(even_array)-1): for j in range(len(even_array)-i-1): if even_array[j] > even_array[j+1]: even_array[j], even_array[j+1] = even_array[j+1], even_array[j] #打印排序过后的数组 print(" ".join(map(str,odd_array+even_array))) 1 4 5 77 67 2 1 5 67 77 2 4

你学会了吗,一个需要排序,一个不需要!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有