用冒泡法对10个整数进行排序,使其数组元素的值按从大到小的顺序排列
时间: 2024-05-05 20:22:07 浏览: 13
好的,下面是冒泡排序的实现过程:
```python
# 定义要排序的数组
arr = [5, 10, 2, 8, 3, 9, 4, 6, 1, 7]
# 冒泡排序
for i in range(len(arr)):
for j in range(len(arr) - 1 - i):
if arr[j] < arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
# 输出排序后的数组
print(arr)
```
输出结果:
```
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
```
由于冒泡排序的时间复杂度为O(n^2),不适合对大规模数据进行排序,但对于小规模的数据,冒泡排序是一种简单、易于实现的排序算法。
相关问题
C++ 用冒泡法对10个整数进行排序,使其数组元素的值按从大到小的顺序排列
以下是用冒泡排序法对10个整数进行从大到小排序的C++代码:
```cpp
#include <iostream>
using namespace std;
int main() {
int arr[10] = {3, 7, 1, 8, 2, 5, 9, 4, 6, 10}; // 待排序的10个整数
int temp;
// 冒泡排序
for (int i = 0; i < 9; i++) { // 外层循环控制排序轮数
for (int j = 0; j < 9 - i; j++) { // 内层循环控制每轮排序比较的次数
if (arr[j] < arr[j + 1]) { // 如果前面的数比后面的数小,则交换它们的位置
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 输出排序后的结果
for (int i = 0; i < 10; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
输出结果为:`10 9 8 7 6 5 4 3 2 1`,表示数组元素的值按从大到小的顺序排列。
用冒泡法或选择法对数组中10个整数按由大到小排序。
以下是使用冒泡法和选择法对数组中10个整数按由大到小排序的示例代码:
冒泡法排序:
```c
#include <stdio.h>
int main() {
int x[10], i, j, temp;
for (i = 0; i < 10; i++) {
scanf("%d", &x[i]); // 输入10个整数,赋值到数组中
}
for (i = 0; i < 10; i++) { // 总共要循环10次
for (j = 0; j < 10 - i - 1; j++) { // 前一个和后一个相比较,大的话就往后移 ,不过循环的次数随着外循环增加而减少
if (x[j] < x[j + 1]) { // 如果前面的数比后面的数小,就交换位置
temp = x[j + 1];
x[j + 1] = x[j];
x[j] = temp;
}
}
}
for (i = 0; i < 10; i++) {
printf("%d\t", x[i]);
}
return 0;
}
```
选择法排序:
```c
#include <stdio.h>
int main() {
int x[10], i, j, temp, max;
for (i = 0; i < 10; i++) {
scanf("%d", &x[i]); // 输入10个整数,赋值到数组中
}
for (i = 0; i < 10; i++) { // 总共要循环10次
max = i; // 每一次都选择最大的一个放在最前面
for (j = i + 1; j < 10; j++) { // 从i+1开始找
if (x[j] > x[max]) { // 如果后面的数更大,那么现在的最大的下标为j
max = j;
}
}
temp = x[i]; // 交换
x[i] = x[max];
x[max] = temp;
}
for (i = 0; i < 10; i++) {
printf("%d\t", x[i]);
}
return 0;
}
```