如何转换一维数组使前半为奇位元素、后半为偶位元素
一维数组按奇偶位置拆分重组
对包含n个整数元素的一维数组执行转换,规则如下:
- 转换后的数组前半部分,按原顺序存放原数组所有奇数位置的元素
- 转换后的数组后半部分,按原顺序存放原数组所有偶数位置的元素
注:此处位置从数组首个元素开始按1起始计数,即第一个元素为第1位(奇数位),第二个元素为第2位(偶数位),以此类推。
转换示例
- 源数组:
(1, 6, 2, 5, 4)
拆分过程:- 奇数位(第1、3、5位)元素:1、2、4,作为结果前半段
- 偶数位(第2、4位)元素:6、5,作为结果后半段
- 转换后期望结果:
(1, 2, 4, 6, 5)
最简Python实现
def rearrange_array(input_arr): # 步长2切片取奇数位元素(0索引对应第1位),再拼接步长2从索引1开始取的偶数位元素 return input_arr[::2] + input_arr[1::2] # 验证示例 if __name__ == "__main__": source = [1,6,2,5,4] print(rearrange_array(source)) # 输出: [1, 2, 4, 6, 5]
内容的提问来源于stack exchange,提问作者kostya ivanov
相关产品推荐
相关产品推荐

