洛谷p1177冒泡排序
时间: 2024-08-03 12:01:38 浏览: 40
冒泡排序-冒泡排序
题目P1177在洛谷在线Judge上是一个基础的排序算法题,涉及的是冒泡排序(Bubble Sort)。冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
以下是冒泡排序的基本步骤:
1. 遍历数组,对于每一对相邻的元素(从第一个到倒数第二个),比较它们的大小。
2. 如果前一个元素大于后一个元素,则交换它们的位置。
3. 继续这个过程,直到没有任何一对数字需要交换,这表明数组已经按照升序排列。
这是一个示例Python代码实现:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n):
# 每轮循环都没有交换,说明已经有序
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1]:
# 交换元素
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr
# 测试代码
arr = [64, 34, 25, 12, 22, 11, 90]
print("Sorted array is:", bubble_sort(arr))
```
阅读全文