91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C語言中的sort函數怎么使用

小億
413
2023-11-09 13:05:20
欄目: 編程語言

在C語言中,sort函數用于對數組進行排序。它的使用方法如下:

  1. 引入頭文件:#include <stdlib.h>

  2. 定義比較函數:sort函數需要一個用于比較數組元素的函數作為參數。比較函數的定義如下:

int compare(const void *a, const void *b) {
    // 指針類型轉換
    const int *num1 = (const int *)a;
    const int *num2 = (const int *)b;
    
    // 比較并返回結果
    if (*num1 < *num2) {
        return -1;
    } else if (*num1 > *num2) {
        return 1;
    } else {
        return 0;
    }
}

比較函數返回值為負數表示a應放在b之前,返回值為正數表示a應放在b之后,返回值為0表示a和b相等。

  1. 調用sort函數進行排序:qsort(array, arraySize, sizeof(int), compare);。 其中,array是要排序的數組的指針,arraySize是數組中元素的個數,sizeof(int)是數組中每個元素的大小,compare是比較函數的指針。

完整的示例代碼如下:

#include <stdio.h>
#include <stdlib.h>

int compare(const void *a, const void *b) {
    const int *num1 = (const int *)a;
    const int *num2 = (const int *)b;
    
    if (*num1 < *num2) {
        return -1;
    } else if (*num1 > *num2) {
        return 1;
    } else {
        return 0;
    }
}

int main() {
    int array[] = {5, 2, 8, 1, 9};
    int arraySize = sizeof(array) / sizeof(array[0]);
    
    qsort(array, arraySize, sizeof(int), compare);
    
    for (int i = 0; i < arraySize; i++) {
        printf("%d ", array[i]);
    }
    printf("\n");
    
    return 0;
}

輸出結果為:1 2 5 8 9,表示數組已經按照從小到大的順序排序。

0
长乐市| 达尔| 开封市| 崇礼县| 津南区| 喀喇| 海淀区| 于田县| 湖北省| 宣城市| 临潭县| 钟祥市| 塘沽区| 中方县| 观塘区| 东宁县| 独山县| 怀安县| 竹溪县| 黄梅县| 梓潼县| 县级市| 新闻| 柳河县| 安达市| 淄博市| 嵊州市| 寻乌县| 丹阳市| 固安县| 扎赉特旗| 四会市| 东丰县| 龙胜| 临湘市| 金乡县| 武平县| 托克逊县| 衡南县| 本溪| 临海市|