输入十个数,冒泡法排序
时间: 2024-05-15 18:12:06 浏览: 10
好的,以下是使用Python语言实现的冒泡排序算法:
```python
def bubble_sort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n):
# 最后i个元素已经排好序了,所以只需遍历前n-i个元素
for j in range(n-i-1):
# 如果当前元素比后一个元素大,则交换位置
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
# 测试
arr = [9, 3, 7, 1, 5, 6, 8, 2, 4, 0]
bubble_sort(arr)
print("排序后的数组:", arr)
```
输出结果为:
```
排序后的数组: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
```
以上代码实现了一个冒泡排序算法,首先遍历所有的数组元素,然后再遍历前n-i个元素(i为当前已经排好序的元素个数),如果当前元素比后一个元素大,则交换位置。重复以上步骤,直到所有元素都排好序。
相关问题
c语言 输入十个数,冒泡法排序
下面是使用冒泡排序法在C语言中对十个数进行排序的代码:
```c
#include <stdio.h>
int main() {
int array[10], i, j, temp;
// 获取十个数
printf("请输入十个数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &array[i]);
}
// 冒泡排序法
for (i = 0; i < 9; i++) {
for (j = 0; j < 9 - i; j++) {
if (array[j] > array[j+1]) {
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
// 输出排序后的数组
printf("排序后的数组:\n");
for (i = 0; i < 10; i++) {
printf("%d ", array[i]);
}
printf("\n");
return 0;
}
```
这段代码首先通过 `scanf` 获取十个数,然后使用冒泡排序法对这些数进行排序,最后通过 `printf` 输出排序后的数组。
输入10个数 用冒泡法排序
冒泡排序是一种简单直观的排序算法,它的基本思想是通过重复地交换相邻两个元素的位置,让较大的元素逐渐往后移动,直到整个序列都被排好序为止。
下面是用冒泡法对10个数进行排序的实现代码:
```
#include <stdio.h>
void bubbleSort(int arr[], int n)
{
int i, j;
for (i = 0; i < n-1; i++)
{
// last i elements are already sorted
for (j = 0; j < n-i-1; j++)
{
if (arr[j] > arr[j+1])
{
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main()
{
int arr[10];
int i;
printf("请输入10个数:\n");
for (i = 0; i < 10; i++)
{
scanf("%d", &arr[i]);
}
bubbleSort(arr, 10);
printf("排序后的结果为:\n");
for (i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
```
在这段代码中,我们通过两层循环来实现冒泡排序。外层循环用于遍历所有元素,内层循环用于比较相邻元素的大小并交换位置。由于冒泡排序的时间复杂度为 O(n^2),因此不适用于大规模数据的排序。