📅  最后修改于: 2023-12-03 14:39:39.731000             🧑  作者: Mango
排序算法是计算机程序设计中基础的算法之一。在实际的应用中,需要对一系列元素进行排序,以便更好地处理和展示数据。C语言和C++编程语言中都内置了排序函数,其中C语言内置了qsort()函数,C++语言中内置了sort()函数。
qsort()函数是C语言中用来排序的函数之一。 qsort()函数能够对数据进行排序,数据可以是基本数据类型如整型、字符型、浮点型,也可以是结构体。qsort()函数的函数原型如下所示:
void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *));
参数说明:
使用qsort()函数对整型数组进行排序示例代码如下:
#include <stdio.h>
#include <stdlib.h>
int compare(const void *a, const void *b) {
return (*(int*)a - *(int*)b);
}
int main() {
int arr[] = {3, 2, 1, 5, 4};
int size = sizeof(arr) / sizeof(arr[0]);
qsort(arr, size, sizeof(int), compare);
for(int i=0;i<size;i++) {
printf("%d ", arr[i]);
}
return 0;
}
sort()函数是C++语言中用来排序的函数之一。sort()函数针对容器进行排序,数据可以是基本数据类型如整型、字符型、浮点型,也可以是结构体。sort()函数的函数原型如下所示:
template <typename T>
void sort(T first, T last, Compare comp);
参数说明:
使用sort()函数对整型数组进行排序示例代码如下:
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[] = {3, 2, 1, 5, 4};
int size = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + size);
for(int i=0;i<size;i++) {
cout << arr[i] << " ";
}
return 0;
}
qsort()函数一般适用于C语言编写的程序中,sort()函数一般适用于C++编写的程序中。不同之处在于,C++ sort()函数是针对容器的,而C qsort()函数是针对数组的。同时,C++ sort()函数支持lambda表达式,可以更加灵活地定义比较函数。在使用时,需要根据实际需要选择合适的函数。