按照奇偶排序数组给一个整数数组nums,将nums中的的所有偶数元素移动到数组的前面,所有奇数元素跟在后面,用Python语言
时间: 2024-09-19 22:06:29 浏览: 42
JavaScript实现获取两个排序数组的中位数算法示例
在Python中,你可以通过双指针的方法来实现这个奇偶排序数组的操作。这里有一个简单的步骤描述:
1. 定义两个指针,一个 `left` 用于遍历偶数位置(索引是偶数),另一个 `right` 从数组开头开始查找奇数。
2. 遇到偶数元素时,将它与 `left` 所指向的位置交换,并将 `left` 向右移动一位。
3. 遇到奇数元素时,不做任何操作,直接让 `right` 向前移动一位。
4. 当 `left` 超过数组长度的一半时,表示所有的偶数元素都已移动到前面,剩下的就是奇数了。
5. 最后返回调整后的数组。
以下是一个具体的Python实现示例:
```python
def sort_array(nums):
left = 0
right = len(nums) - 1
while left < right:
# 将偶数元素移到前面
if nums[left] % 2 == 0:
nums[left], nums[right] = nums[right], nums[left]
right -= 1
else:
left += 1
return nums
# 示例
nums = [3, 7, 1, 9, 2, 6, 8, 5]
sorted_nums = sort_array(nums)
print("Sorted array:", sorted_nums)
阅读全文