当前位置:首页 > 行业动态 > 正文

c语言升序降序怎么表示

在C语言中,排序算法是用于将一系列元素按照特定的顺序进行排列的方法,升序和降序是两种常见的排序方式。

升序是指按照从小到大的顺序排列元素,即元素的值逐渐增大,给定一个整数数组 {5, 2, 8, 1, 9},经过升序排序后,该数组将变为 {1, 2, 5, 8, 9}。

降序是指按照从大到小的顺序排列元素,即元素的值逐渐减小,给定一个整数数组 {5, 2, 8, 1, 9},经过降序排序后,该数组将变为 {9, 8, 5, 2, 1}。

下面是一个简单的C语言程序,演示了如何使用冒泡排序算法对整数数组进行升序和降序排序:

#include <stdio.h>
void bubbleSortAscending(int arr[], int n) {
    int i, j, temp;
    for (i = 0; i < n1; i++) {
        for (j = 0; j < ni1; j++) {
            if (arr[j] > arr[j+1]) {
                temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
}
void bubbleSortDescending(int arr[], int n) {
    int i, j, temp;
    for (i = 0; i < n1; i++) {
        for (j = 0; j < ni1; 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, 1, 9};
    int n = sizeof(arr)/sizeof(arr[0]);
    printf("原始数组:");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    bubbleSortAscending(arr, n);
    printf("
升序排序后的数组:");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    bubbleSortDescending(arr, n);
    printf("
降序排序后的数组:");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    return 0;
}

上述代码中,bubbleSortAscending函数实现了升序排序,bubbleSortDescending函数实现了降序排序,它们都使用了冒泡排序算法,通过比较相邻元素的大小并交换位置来实现排序。

在main函数中,首先定义了一个整数数组arr,并计算数组的长度n,依次调用bubbleSortAscending和bubbleSortDescending函数对数组进行升序和降序排序,使用循环打印排序后的数组。

运行上述代码,输出结果如下:

原始数组:5 2 8 1 9 
升序排序后的数组:1 2 5 8 9 
降序排序后的数组:9 8 5 2 1 

可以看到,原始数组经过升序排序后变为{1, 2, 5, 8, 9},经过降序排序后变为{9, 8, 5, 2, 1}。

0