数据结构冒泡排序,对整数数组进行排序,用户选择升序和降序
时间: 2025-07-06 12:56:43 浏览: 8
### 使用冒泡排序算法对整数数组进行升序和降序排列
#### 升序排列
冒泡排序通过重复遍历要排序的列表来工作,在每次遍历时比较相邻元素并按需要交换它们的位置。这个过程会持续到整个列表变得有序为止[^3]。
以下是使用 Python 实现的冒泡排序升序排列代码:
```python
def bubble_sort_asc(arr):
n = len(arr)
for i in range(n):
swapped = False
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
swapped = True
if not swapped:
break
return arr
```
这段代码定义了一个名为 `bubble_sort_asc` 的函数,该函数接收一个参数 `arr` 表示待排序的数组。内部逻辑实现了两层循环结构用于逐次对比每一对相邻元素;如果前一个大于后一个,则两者互换位置。当一轮完整的扫描未发生任何一次交换操作时提前结束循环以优化性能。
#### 降序排列
对于降序排列而言,只需要改变内层条件判断中的不等号方向即可完成转换。下面是相应的实现方式:
```python
def bubble_sort_desc(arr):
n = len(arr)
for i in range(n):
swapped = False
for j in range(0, n-i-1):
if arr[j] < arr[j+1]: # 改变这里为小于号
arr[j], arr[j+1] = arr[j+1], arr[j]
swapped = True
if not swapped:
break
return arr
```
此版本同样遵循了标准的冒泡排序流程,但在遇到前者小于后者的情况下才会触发数据交换动作,最终使得较大的数值逐渐移至序列前端形成逆序效果。
阅读全文
相关推荐


















