选择排序、冒泡排序python
时间: 2023-11-01 15:08:50 浏览: 83
好的,以下是选择排序和冒泡排序的 Python 代码:
选择排序:
```python
def selection_sort(arr):
n = len(arr)
for i in range(n):
min_idx = i
for j in range(i+1, n):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr
```
冒泡排序:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
```
相关问题
python 冒泡排序和选择排序
冒泡排序和选择排序都是常见的排序算法,下面分别介绍一下它们的工作原理和实现。
冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的两个元素并将它们按照大小顺序进行交换,直到整个列表排序完成。
冒泡排序的步骤如下:
1. 从第一个元素开始,比较相邻的两个元素。
2. 如果顺序不正确,则交换它们的位置。
3. 继续比较下一对相邻元素,直到比较完所有元素。
4. 如果还有任何交换操作发生,则重复前面的步骤。
以下是用 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
```
选择排序(Selection Sort)也是一种简单的排序算法,它每次从未排序的部分中选择最小的元素,并将其放置在已排序部分的末尾。
选择排序的步骤如下:
1. 找到未排序部分中的最小元素。
2. 将最小元素与未排序部分的第一个元素交换位置。
3. 将已排序部分的长度加1。
4. 重复上述步骤,直到整个列表排序完成。
以下是用 Python 实现选择排序的代码:
```python
def selection_sort(arr):
n = len(arr)
for i in range(n):
min_index = i
# 找到未排序部分的最小元素
for j in range(i+1, n):
if arr[j] < arr[min_index]:
min_index = j
# 将最小元素与未排序部分的第一个元素交换位置
arr[i], arr[min_index] = arr[min_index], arr[i]
return arr
```
希望对你有所帮助!如果还有其他问题,请继续提问。
python 冒泡排序
Python 冒泡排序是一种简单的排序算法,其原理是重复遍历数组,比较相邻两个元素,如果顺序错误就交换它们的位置,直到再也没有需要交换的元素为止。以下是 Python 冒泡排序的代码示例:
```
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(n - 1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
```
该函数接受一个数组作为输入,并返回一个经过排序后的新数组。
阅读全文