排序练习题
# 练习题
# 1.1.冒泡排序
以第一个数为起点,与后面得数一次比较,如果比基数大就交换,这样每一趟结束都会将未排序中最大得数放在已排序得开头
def bubble(nums):
n = len(nums)
for i in range(n-1):
for j in range(n-1-i):
if num[i] < nums[j]:
nums[i], nums[j] = nums[j], nums[i]
return nums
def bubble_sort2(nums):
n = len(nums)
for i in range(n-1):
exchange = False
for i in range(n-1-i):
if nums[i] < nums[j]:
nums[i], nums[j] = nums[j], nums[i]
exchange = True
if not exchange:
break
return nums
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1
// Make sure to add code blocks to your code group
# 1.2.选择排序
设定第一个元素得坐标为基准下标,然后用这个元素与无序数组中得元素做比较,找出此时得最小下标
每一轮循环,都会将无序中得最小元素交换至有序数组得末尾
def select_sort(nums):
n = len(nums-1)
for i in range(n):
basic = nums[i]
for j in range(i+1, n):
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
1
// Make sure to add code blocks to your code group
编辑 (opens new window)
上次更新: 2024/12/31 14:23:38