卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章65917本站已运行421

c语言怎么用数组排序

排序是一种按特定顺序排列数据的过程。c语言中可使用qsort()函数对数组排序,该函数需要一个比较函数来比较两个元素并返回比较结果。例如,以下代码演示如何使用int_compare()比较函数对整数数组进行从小到大排序。

c语言怎么用数组排序

C语言数组排序

排序是什么?

排序是一种将数据按特定顺序排列的过程,例如从小到大或从大到小排列。

C语言中如何使用数组排序?

立即学习“C语言免费学习笔记(深入)”;

在C语言中,可以使用qsort()函数对数组进行排序。该函数原型如下:

void qsort(void *base, size_t num, size_t size, int (*compar)(const void*, const void*));
  • base:待排序数组的首地址
  • num:数组中元素的数量
  • size:每个元素的大小(以字节为单位)
  • compar:比较函数,用于比较两个元素并返回比较结果

比较函数

为了使用qsort(),需要提供一个比较函数。该函数接收两个元素的指针,并返回一个整数,表示两个元素之间的比较结果:

  • 负值:第一个元素小于第二个元素
  • 零:两个元素相等
  • 正值:第一个元素大于第二个元素

示例代码

以下示例演示了如何使用qsort()对整数数组进行排序:

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

int int_compare(const void *a, const void *b) {
    int *pa = (int*)a;
    int *pb = (int*)b;
    return *pa - *pb;
}

int main() {
    int arr[] = {3, 1, 4, 2, 5};
    int n = sizeof(arr) / sizeof(arr[0]);

    qsort(arr, n, sizeof(int), int_compare);

    for (int i = 0; i <p>输出:</p>
<pre class="brush:php;toolbar:false">1 2 3 4 5
卓越飞翔博客
上一篇: golang怎么切片符串
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏