写一个函数,用“冒泡法”对输入的10个数字由小到大顺序排列,并输出。
时间: 2023-09-03 21:26:06 浏览: 105
冒泡法对十个数排序
5星 · 资源好评率100%
### 回答1:
以下是使用冒泡排序算法的 Python 代码:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
arr = [64, 34, 25, 12, 22, 11, 90, 87, 40, 53]
bubble_sort(arr)
print("排序后的数组:")
for i in range(len(arr)):
print("%d" %arr[i])
```
输出:
```
排序后的数组:
11
12
22
25
34
40
53
64
87
90
```
以上代码中,我们定义了一个冒泡排序函数 `bubble_sort()`,该函数使用了两个嵌套循环来遍历数组,并将相邻的元素进行比较,如果前一个元素比后一个元素大,则交换它们的位置。最后,我们输出排序后的结果。
### 回答2:
冒泡排序法是一种简单的排序算法,它通过多次遍历待排序的数列,每次比较相邻的两个元素,如果顺序错误就交换它们。通过多次的遍历,直到没有需要交换的元素为止,即可完成排序。
下面是用冒泡法对输入的10个数字由小到大进行排序的函数:
```python
def bubble_sort(numbers):
n = len(numbers)
for i in range(n-1): # 遍历n-1次
for j in range(n-i-1): # 每次遍历将最大的数冒泡到末尾,所以下一次遍历的长度为 n-i-1
if numbers[j] > numbers[j+1]: # 如果相邻两个数的顺序错误,就进行交换
numbers[j], numbers[j+1] = numbers[j+1], numbers[j]
return numbers
# 测试
input_numbers = [9, 5, 2, 7, 3, 8, 1, 6, 10, 4]
sorted_numbers = bubble_sort(input_numbers)
print(sorted_numbers)
```
输出结果为:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
这样就完成了用冒泡法对输入的10个数字由小到大顺序排列的函数编写。
### 回答3:
冒泡排序法是一种简单的排序算法,它通过重复遍历要排序的数列,比较相邻两个元素的大小,如果顺序错误则交换它们的位置,直到整个数列按照从小到大的顺序排列。
根据题目要求,我们编写一个函数来实现冒泡排序:
```
def bubble_sort(nums):
n = len(nums)
for i in range(n-1): # 遍历的次数为n-1次
for j in range(n-1-i): # 每次遍历需要比较的元素个数为n-1-i个
if nums[j] > nums[j+1]: # 如果相邻两个元素的顺序错误,则交换它们的位置
nums[j], nums[j+1] = nums[j+1], nums[j]
return nums
nums = [] # 用来存储输入的10个数字
for i in range(10):
num = int(input("请输入第%d个数字:" % (i+1)))
nums.append(num)
sorted_nums = bubble_sort(nums)
print("排列后的数字为:", sorted_nums)
```
以上代码中,我们首先定义了一个`bubble_sort`函数,它接受一个列表参数`nums`,并返回排列后的列表。在函数中,我们使用两个嵌套的`for`循环进行冒泡排序的操作,首先遍历需要排序的次数,然后再遍历每次需要比较的元素个数。如果相邻两个元素的顺序错误,则交换它们的位置。最后,我们通过调用`bubble_sort`函数,将输入的10个数字列表进行排序,并将排序后的结果输出。
阅读全文