编写一个程序,将6,5,8,1,0,4,7,3,2,9由小到大排序
时间: 2024-03-05 12:45:03 浏览: 21
以下是使用C语言编写的冒泡排序程序,可以将给定的数组按照从小到大的顺序进行排序:
```c
#include <stdio.h>
void bubbleSort(int arr[], int n) {
int i, j;
for (i = 0; i < n-1; i++) {
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[] = {6, 5, 8, 1, 0, 4, 7, 3, 2, 9};
int n = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, n);
printf("Sorted array in ascending order: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
运行以上程序,将会输出排序后的结果:0 1 2 3 4 5 6 7 8 9。
相关问题
编写一个程序,实现直接插入排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。
好的,下面是实现直接插入排序算法的 Python 代码,并输出给定序列的排序过程:
```python
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j]:
arr[j+1] = arr[j]
j -= 1
arr[j+1] = key
print(arr)
arr = [9,8,7,6,5,4,3,2,1,0]
insertion_sort(arr)
```
输出结果如下:
```
[8, 9, 7, 6, 5, 4, 3, 2, 1, 0]
[7, 8, 9, 6, 5, 4, 3, 2, 1, 0]
[6, 7, 8, 9, 5, 4, 3, 2, 1, 0]
[5, 6, 7, 8, 9, 4, 3, 2, 1, 0]
[4, 5, 6, 7, 8, 9, 3, 2, 1, 0]
[3, 4, 5, 6, 7, 8, 9, 2, 1, 0]
[2, 3, 4, 5, 6, 7, 8, 9, 1, 0]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
```
可以看到,排序过程是一个逐步有序的过程,最终得到了有序的序列。
用C++编写一个程序,实现直接插入排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。
好的,以下是程序的实现,注释中有详细说明:
```c++
#include <iostream>
using namespace std;
void insertionSort(int arr[], int n) {
int i, j, tmp;
for (i = 1; i < n; i++) {
tmp = arr[i];
j = i - 1;
// 将比当前元素大的元素向后移动
while (j >= 0 && arr[j] > tmp) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = tmp;
// 输出每轮排序后的结果
for (int k = 0; k < n; k++) {
cout << arr[k] << " ";
}
cout << endl;
}
}
int main() {
int arr[10] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
insertionSort(arr, 10);
return 0;
}
```
输出结果如下:
```
8 9 7 6 5 4 3 2 1 0
7 8 9 6 5 4 3 2 1 0
6 7 8 9 5 4 3 2 1 0
5 6 7 8 9 4 3 2 1 0
4 5 6 7 8 9 3 2 1 0
3 4 5 6 7 8 9 2 1 0
2 3 4 5 6 7 8 9 1 0
1 2 3 4 5 6 7 8 9 0
0 1 2 3 4 5 6 7 8 9
```