python冒泡排序例题
时间: 2023-11-14 22:12:35 浏览: 52
下面是一个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(bubble_sort(arr))
```
这个例子中,我们定义了一个名为`bubble_sort`的函数,它接受一个列表作为参数,并返回一个排好序的列表。在函数内部,我们使用了两个嵌套的循环来实现冒泡排序。外层循环控制排序轮数,内层循环控制每轮排序的次数。在每轮排序中,我们比较相邻的两个元素,如果前一个元素比后一个元素大,则交换它们的位置。最终,我们返回排好序的列表。
相关问题
python冒泡字符串排序例题
冒泡排序可以用于对数字列表进行排序,也可以用于对字符串列表进行排序。下面是一个Python冒泡字符串排序的例题:
```
def bubble_sort(str_list):
n = len(str_list)
for i in range(n):
for j in range(0, n-i-1):
if str_list[j] > str_list[j+1]:
str_list[j], str_list[j+1] = str_list[j+1], str_list[j]
return str_list
if __name__ == '__main__':
str_list = ['apple', 'banana', 'orange', 'pear', 'grape']
sorted_list = bubble_sort(str_list)
print(sorted_list)
```
这个例子中,我们定义了一个名为`bubble_sort`的函数,它接受一个字符串列表作为参数,并返回一个排好序的字符串列表。函数中的实现和数字列表的冒泡排序类似,只是比较的对象变成了字符串。在主程序中,我们定义了一个字符串列表,然后调用`bubble_sort`函数对它进行排序,并打印出排好序的列表。
Python冒泡排序
冒泡排序是一种简单的排序算法,它通过多次遍历列表,比较相邻的元素并交换它们的位置来达到排序的目的。Python中实现冒泡排序可以使用以下代码:
```python
def bubble_sort(array):
for i in range(1, len(array)):
for j in range(0, len(array)-i):
if array[j > array[j+1]:
array[j], array[j+1 = array[j+1], array[j]
return array
```
以上代码实现了一个名为`bubble_sort`的函数,该函数接受一个列表作为参数,并返回排序后的列表。在每次遍历中,它比较相邻的元素,如果顺序错误则进行交换。
冒泡排序的原理是,每次遍历都将最大(或最小)的元素“冒泡”到列表的顶端。因此,这种排序算法被称为冒泡排序。它通过多次遍历来逐渐将元素放置到正确的位置上,直到整个列表都有序。
冒泡排序是一种稳定的排序算法,相等元素的相对次序保持不变。即使有两个相等的元素,它们在比较时不会进行交换,所以它们的相对次序不会改变。
你可以使用上述的`bubble_sort`函数来对任意列表进行冒泡排序。例如,对于输入列表`[10, 17, 50, 7, 30, 24, 27, 45, 15, 5, 36, 21]`,使用冒泡排序后的结果为`[5, 7, 10, 15, 17, 21, 24, 27, 30, 36, 45, 50]`。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Python实现冒泡排序](https://blog.csdn.net/weixin_43790276/article/details/104033622)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]