c语言实现数组大小排序
时间: 2023-08-02 14:05:41 浏览: 110
以下是一种 C 语言实现数组大小排序的方法:
```c
#include <stdio.h>
void bubbleSort(int arr[], int size) {
int i, j, temp;
for(i = 0; i < size - 1; i++) {
for(j = 0; j < size - i - 1; j++) {
if(arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int arr[] = {5, 2, 8, 3, 1};
int size = sizeof(arr) / sizeof(arr[0]);
int i;
bubbleSort(arr, size);
printf("Sorted array: ");
for(i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
上述代码使用冒泡排序算法对数组进行排序。首先,定义了一个 bubbleSort() 函数来实现排序。然后,在主函数中创建一个整型数组,使用 sizeof() 运算符获取数组大小,调用 bubbleSort() 函数将数组排序,最后输出排序后的结果。
相关问题
用c语言实现数组的相对排序
可以通过以下方式实现数组的相对排序:
1、先遍历整个数组,将其中的元素按照大小排序;
2、定义一个辅助数组,用于存储已排序好的数组元素;
3、再次遍历整个数组,将其余的元素与已排序好的元素进行比较,确定其在辅助数组中的位置;
4、最后,将辅助数组中的元素复制回原数组中,完成相对排序。
c语言结构体数组降序排序
以下是C语言结构体数组降序排序的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
struct Person {
int no;
int age;
int height;
};
int cmp(const void *a, const void *b) {
struct Person *pa = (struct Person *)a;
struct Person *pb = (struct Person *)b;
return pb->height - pa->height;
}
int main() {
struct Person array[] = {{1, 20, 170}, {2, 25, 180}, {3, 30, 175}};
int n = sizeof(array) / sizeof(struct Person);
qsort(array, n, sizeof(struct Person), cmp);
for (int i = 0; i < n; i++) {
printf("no:%d age:%d height:%d\n", array[i].no, array[i].age, array[i].height);
}
return 0;
}
```
解释如下:
- 首先定义了一个结构体`Person`,包含三个成员变量`no`、`age`和`height`。
- 然后定义了一个`cmp`函数,用于比较两个`Person`结构体的`height`成员变量,实现降序排序。
- 在`main`函数中定义了一个`Person`类型的数组`array`,并初始化了三个元素。
- 使用`qsort`函数对数组进行排序,其中第二个参数是数组元素个数,第三个参数是每个元素的大小,第四个参数是比较函数。
- 最后遍历数组并输出每个元素的成员变量。
阅读全文