为了账号安全,请及时绑定邮箱和手机立即绑定

请问c语言运用sort 排序函数,需要的头文件是什么?

请问c语言运用sort 排序函数,需要的头文件是什么?

陪伴而非守候 2019-07-09 17:07:20
c语言运用sort 排序函数,需要的头文件是什么?
查看完整描述

5 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

sort(),qsort()排序函数
一.sort函数
常用于C++中,头文件为algorithm.h。
用法:
sort(first,last)
在[first, last)中的元素进行排序按升序排列

注意:sort默认排序后是升序。如果要想按降序排列,需自己编写一个比较函数来实现。

函数名...................功能描述

sort........................对给定区间所有元素进行排序
stable_sort.........对给定区间所有元素进行稳定排序
partial_sort........对给定区间所有元素部分排序
partial_sort_copy..........对给定区间复制并排序
nth_element...................找出给定区间的某个位置对应的元素
is_sorted...........................判断一个区间是否已经排好序
partition...........................使得符合某个条件的元素放在前面
stable_partition............相对稳定的使得符合某个条件的元素放在前面

二、qsort()函数

功 能: 使用快速排序例程进行排序
头文件:stdlib.h
用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));
参数: 1 待排序数组首地址
2 数组中待排序元素数量
3 各元素的占用空间大小
4 指向函数的指针,用于确定排序的顺序

查看完整回答
反对 回复 2019-07-13
?
撒科打诨

TA贡献1934条经验 获得超2个赞

stdlib.h头文件中。
有qsort() //快速排序
qsort函数,也就是快速排序算法,在C的<stdlib>库中,需加入头文件#include <cstdlib> 或#include <stdlib.h>。

调用qsort函数需要写cmp比较函数。
给出按升序排列的例子:
int cmp(const void* a, const void* b)  //注意这里是int{return (int*)a - (int*)b;}

调用:
qsort(a, n, sizeof(int), cmp);//a为数组,n为个数

如果需要按照自己的意愿排列,那么同样重写cmp比较函数,就可以完成,和sort函数类似。时间复杂度为O(n log n),但是某些情况要比sort函数好。

查看完整回答
反对 回复 2019-07-13
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

#include <algorithm>
#include <iostream>
using namespace std;
main()
{
int a[11]={2,4,8,5,7,1,10,6,9,3};//a的长度=待排数据个数+1
sort(a,a+10);//对[a,a+10)排序
for(int i=0;i<10;++i) cout<<a[i]<<endl;
}

查看完整回答
反对 回复 2019-07-13
  • 5 回答
  • 0 关注
  • 2990 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信