用Python写随机产生3000个整数,分别用蛮力法和归治法和减治法进行排序
时间: 2023-02-28 15:06:25 浏览: 62
首先,用以下代码随机生成3000个整数:
```
import random
random_numbers = random.sample(range(1, 3001), 3000)
```
然后,可以使用以下三种方法对这3000个整数进行排序:
1. 蛮力法:
```
def brute_force_sort(numbers):
for i in range(len(numbers)):
for j in range(i+1, len(numbers)):
if numbers[i] > numbers[j]:
numbers[i], numbers[j] = numbers[j], numbers[i]
return numbers
```
2. 归并排序:
```
def merge_sort(numbers):
if len(numbers) <= 1:
return numbers
mid = len(numbers) // 2
left = numbers[:mid]
right = numbers[mid:]
left = merge_sort(left)
right = merge_sort(right)
return merge(left, right)
def merge(left, right):
result = []
i = j = 0
while i < len(left) and j < len(right):
if left[i] < right[j]:
result.append(left[i])
i += 1
else:
result.append(right[j])
j += 1
result += left[i:]
result += right[j:]
return result
```
3. 快速排序:
```
def quick_sort(numbers, low, high):
if low < high:
pivot = partition(numbers, low, high)
quick_sort(numbers, low, pivot-1)
quick_sort(numbers, pivot+1, high)
return numbers
def partition(numbers, low, high):
pivot = numbers[high]
i = low - 1
for j in range(low, high):
if numbers[j] <= pivot:
i = i + 1
numbers[i], numbers[j] = numbers[j], numbers[i]
numbers[i + 1], numbers[high] = numbers[high], numbers[i + 1]
return i + 1
```
最后,可以调用上述三个排序函数对`random_numbers`进行排序,并获得结果。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)