编写程序,生成一个包含 20 个介于 1 到 50 之间随机整数的列表,然后使用插入法对给 定整数列表中的所有元素升序排序。
时间: 2024-05-04 22:17:50 浏览: 13
以下是Python 代码实现:
```python
import random
# 生成包含20个介于1到50之间随机整数的列表
num_list = [random.randint(1, 50) for _ in range(20)]
# 插入排序算法
def insertion_sort(lst):
for i in range(1, len(lst)):
key = lst[i]
j = i - 1
while j >= 0 and lst[j] > key:
lst[j + 1] = lst[j]
j -= 1
lst[j + 1] = key
# 对随机生成的整数列表进行插入排序
insertion_sort(num_list)
# 输出排序后的整数列表
print(num_list)
```
该程序首先使用 `random` 模块生成包含 20 个介于 1 到 50 之间随机整数的列表。然后使用插入排序算法对该列表进行升序排序,并输出排序后的整数列表。
相关问题
编写程序,生成一个包含20个介于1到50之间随机整数的列表,然后使用插入法对给定整数列表中的所有元素升序排序。
以下是Python代码实现:
```python
import random
# 生成包含20个介于1到50之间随机整数的列表
random_list = [random.randint(1, 50) for _ in range(20)]
print("生成的随机整数列表为:", random_list)
# 使用插入法对列表中的所有元素升序排序
for i in range(1, len(random_list)):
key = random_list[i]
j = i - 1
while j >= 0 and key < random_list[j]:
random_list[j + 1] = random_list[j]
j -= 1
random_list[j + 1] = key
print("排序后的列表为:", random_list)
```
输出结果类似于:
```
生成的随机整数列表为: [7, 50, 45, 11, 22, 44, 1, 7, 14, 31, 15, 30, 23, 18, 16, 37, 31, 10, 40, 2]
排序后的列表为: [1, 2, 7, 7, 10, 11, 14, 15, 16, 18, 22, 23, 30, 31, 31, 37, 40, 44, 45, 50]
```
6.编写程序,生成一个包含20个介于1到50之间随机整数的列表,然后使用插入法对给定整数列表中的所有元素升序排序。
好的,以下是Python代码实现:
```
import random
# 生成包含20个介于1到50之间随机整数的列表
nums = [random.randint(1, 50) for i in range(20)]
print("原始列表:", nums)
# 插入法排序
for i in range(1, len(nums)):
j = i
while j > 0 and nums[j] < nums[j-1]:
nums[j], nums[j-1] = nums[j-1], nums[j]
j -= 1
print("排序后的列表:", nums)
```
这个程序首先使用列表生成式生成包含20个介于1到50之间随机整数的列表。接着,使用插入法对给定整数列表中的所有元素升序排序。最后输出排序后的列表。