奇偶数双端排序python
时间: 2023-07-26 09:47:14 浏览: 116
以下是 Python 代码实现奇偶数双端排序:
```python
def sort_array(arr):
left, right = 0, len(arr) - 1
while left < right:
while left < right and arr[left] % 2 == 1:
left += 1
while left < right and arr[right] % 2 == 0:
right -= 1
if left < right:
arr[left], arr[right] = arr[right], arr[left]
arr[:left] = sorted(arr[:left], reverse=True)
arr[left:] = sorted(arr[left:])
return arr
```
这个函数接受一个整数数组 `arr`,并将其分为两部分:奇数和偶数。它使用双端指针来交换左右两端的元素,直到左指针超过右指针。然后,它对左侧的奇数部分和右侧的偶数部分进行排序。最后,它返回一个排序后的数组。
相关问题
奇偶数自动生成Python
以下是Python生成奇偶数的例子:
```python
# 生成10个随机数,判断奇偶性
import random
for i in range(10):
num = random.randint(1, 100)
if num % 2 == 0:
print(num, "是偶数")
else:
print(num, "是奇数")
```
该代码使用了Python内置的random模块生成10个1到100之间的随机数,并使用if语句判断每个数的奇偶性,最后输出结果。
列表奇偶排序python
可以使用Python的排序函数`sorted()`,并自定义排序规则来实现列表的奇偶排序。
以下是一个示例代码:
```python
# 定义排序规则,奇数在前,偶数在后
def custom_sort(x):
if x % 2 == 0:
return 1
else:
return 0
# 待排序的列表
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
# 使用sorted()函数进行排序并指定自定义排序规则
lst_sorted = sorted(lst, key=custom_sort)
print(lst_sorted)
```
输出结果为:
```
[3, 1, 1, 5, 9, 5, 3, 5, 4, 2, 6]
```
可以看到,排序后奇数在前,偶数在后。
阅读全文