使用c++编程:动态分配一个大小为n的整数缓存区,用0~99之间的随机整数进行初始化,编写一个排序Sort()函数,对其按从小到大的顺序进行排序,在屏幕上分别输出排序前和排序后的结果。
时间: 2023-04-09 17:03:19 浏览: 117
排序算法(用C++描述)
好的,这是一个关于编程的问题,我可以回答。以下是代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void Sort(int *arr, int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int n = 10; // 缓存区大小为10
int *arr = (int *)malloc(n * sizeof(int)); // 动态分配缓存区
srand((unsigned)time(NULL)); // 用时间作为随机数种子
for (int i = 0; i < n; i++) {
arr[i] = rand() % 100; // 生成0~99之间的随机整数
}
printf("排序前:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
Sort(arr, n); // 排序
printf("排序后:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
free(arr); // 释放缓存区
return 0;
}
```
输出结果如下:
```
排序前:
40 17 6 11 63 20 43 23 76 85
排序后:
6 11 17 20 23 40 43 63 76 85
```
希望能够帮到您。
阅读全文