冒泡排序偶数奇数if
时间: 2023-10-15 20:23:22 浏览: 47
冒泡排序是一种基本的排序算法,可以用来将一个数组或列表中的元素按照一定的顺序进行排列。你提到了偶数和奇数,我理解你的意思是希望在冒泡排序中能够区分偶数和奇数,并按照这个特性进行排序。
在冒泡排序中,我们可以在每次比较相邻元素时,判断它们的奇偶性,并根据需要进行交换。下面是一个示例的冒泡排序算法,可以按照奇偶分类进行排序:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n-1):
for j in range(n-i-1):
if arr[j] % 2 == 0 and arr[j+1] % 2 == 1: # 如果前一个数是偶数,后一个数是奇数
arr[j], arr[j+1] = arr[j+1], arr[j] # 交换位置
elif arr[j] % 2 == arr[j+1] % 2 and arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j] # 如果奇偶性相同,但前一个数大于后一个数,也交换位置
return arr
```
这段代码中,我们使用了两层循环来比较数组中相邻的元素,并根据奇偶性和大小关系进行交换。如果前一个数是偶数,后一个数是奇数,则交换它们的位置;如果奇偶性相同但前一个数大于后一个数,则同样交换它们的位置。
希望这个例子对你有帮助!如果你还有其他问题,请随时提问。