用python写一个随机排序
时间: 2023-03-28 12:04:00 浏览: 90
可以使用Python内置的random模块中的shuffle函数来实现随机排序,示例代码如下:
```python
import random
lst = [1, 2, 3, 4, 5]
random.shuffle(lst)
print(lst)
```
输出结果为:
```
[2, 4, 1, 5, 3]
```
相关问题
用python写一个冒泡排序
以下是使用Python编写的冒泡排序代码:
```python
def bubble_sort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n):
# 最后i个元素已经排好序
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
```
在这个冒泡排序实现中,我们首先使用len()函数获取数组的长度。然后,我们使用两个嵌套的for循环来遍历数组。在外部循环中,我们遍历数组的所有元素。在内部循环中,我们遍历未排序的元素,直到最大的元素被放置在正确的位置。
在内部循环中,我们比较当前元素和下一个元素。如果当前元素大于下一个元素,则交换它们。这样,最大的元素就会被推到数组的末尾。在外部循环结束时,数组中的所有元素都将按升序排列。
我们可以通过以下方式调用这个函数:
```python
arr = [64, 34, 25, 12, 22, 11, 90]
sorted_arr = bubble_sort(arr)
print("排序后的数组:")
for i in range(len(sorted_arr)):
print("%d" % sorted_arr[i])
```
在这个示例中,我们创建一个包含一些随机数字的数组。然后,我们将数组传递给bubble_sort()函数,并将返回的排序数组存储在sorted_arr变量中。最后,我们使用for循环遍历排序后的数组,并将其打印到控制台上。
用python写一个猴子排序
猴子排序是一种随机化排序算法,它的原理是不断随机交换数组中的元素,直到数组有序。
以下是用Python实现猴子排序的代码:
```python
import random
def monkey_sort(arr):
while not is_sorted(arr):
shuffle(arr)
return arr
def is_sorted(arr):
for i in range(len(arr) - 1):
if arr[i] > arr[i+1]:
return False
return True
def shuffle(arr):
for i in range(len(arr)):
j = random.randint(0, len(arr)-1)
arr[i], arr[j] = arr[j], arr[i]
```
在这个代码中,`monkey_sort`函数接受一个数组作为参数,并且不断调用`shuffle`函数随机交换数组中的元素,直到数组有序为止。`is_sorted`函数用于判断数组是否已经有序,如果有序则返回`True`,否则返回`False`。`shuffle`函数用于随机交换数组中的元素。
以下是一个使用猴子排序对数组进行排序的示例:
```python
arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_arr = monkey_sort(arr)
print(sorted_arr)
```
输出结果为:
```
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```
阅读全文