python简单选择排序
时间: 2023-11-01 09:00:39 浏览: 41
简单选择排序是一种简单直观的排序算法,它的基本思想是每次从待排序序列中选择出最小的元素,然后将其与当前位置的元素交换。通过不断选择最小的元素并交换,最终可以将整个序列排序完成。Python实现简单选择排序的代码如下:
```python
def selectionSort(arr):
for i in range(len(arr)):
min_idx = i
for j in range(i+1, len(arr)):
if arr[min_idx] > arr[j]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr
```
请注意,上述代码中的arr是待排序的列表。通过调用`selectionSort`函数并传入待排序的列表,可以得到按照升序排列的列表。
相关问题
python编写选择排序
以下是Python实现选择排序的代码和解释:
```python
def selection_sort(array):
for i in range(len(array)-1):
min_index = i
for j in range(i+1, len(array)):
if array[j] < array[min_index]:
min_index = j
if min_index != i:
array[i], array[min_index] = array[min_index], array[i]
return array
if __name__ == '__main__':
array = [10, 17, 50, 7, 30, 24, 27, 45, 15, 5, 36, 21]
print(selection_sort(array))
```
选择排序是一种简单的排序算法,其基本思想是每次从未排序的元素中选择最小的元素,放到已排序的末尾。具体实现时,我们可以使用两个循环,外层循环控制已排序的元素个数,内层循环用于查找未排序元素中的最小值,并将其与未排序元素的第一个元素交换位置。
python简单冒泡排序代码
冒泡排序是一种简单常用的排序算法,也是入门级排序算法之一。Python中实现冒泡排序方法非常简单,下面是一个Python简单冒泡排序的代码示例:
```
def bubble_sort(nums):
n = len(nums)
for i in range(n):
# 一轮排序会将最大的数“冒泡”到最上面,故最后i个数不需要再排序
for j in range(n-1-i):
if nums[j] > nums[j+1]:
nums[j], nums[j+1] = nums[j+1], nums[j]
if __name__ == '__main__':
nums = [5, 3, 2, 4, 1]
bubble_sort(nums)
print(nums)
```
通过这段代码可见,先将待排序序列的长度存储下来,然后利用两层循环实现冒泡排序。内层循环每一轮会将当前未排序区间最大的数“冒泡”到最上面,所以可以不用考虑已排序的数。外层循环则控制排序轮数。排序过程中,如果发现前一个数比后一个数大,交换这两个数的位置。最后当排序完成后,将排好序的序列输出。