C语言数据结构生成升序数组
时间: 2023-10-03 13:03:24 浏览: 84
可以使用冒泡排序(Bubble Sort)、插入排序(Insertion Sort)、选择排序(Selection Sort)等算法来生成升序数组。
这里以冒泡排序为例,代码如下:
```c
#include <stdio.h>
void bubble_sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int 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 n;
printf("请输入数组元素个数:");
scanf("%d", &n);
int arr[n];
printf("请输入数组元素:");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
bubble_sort(arr, n);
printf("升序数组为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
当然,也可以使用库函数`qsort`来进行排序,代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
int cmp(const void *a, const void *b) {
return *(int*)a - *(int*)b;
}
int main() {
int n;
printf("请输入数组元素个数:");
scanf("%d", &n);
int arr[n];
printf("请输入数组元素:");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
qsort(arr, n, sizeof(int), cmp);
printf("升序数组为:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
阅读全文