c++ 中sort()排序函数与qsort()

sort()

使用前,要#incldue <algorithm>

sort() 函数是 C++ 的内容,使用时需要包含 algorithm 库,并且要使用 std 命名空间。同样实现对一维数组排序

1)自己写原则函数,告诉sort()如何排序

关于参数compare,compare带两个同类型的参数,如果第一个参数排在第二个参数前面,返回true,否则返回false

1)自己编写compare函数:

bool compare(int a,int b)
{
      return a<b;   //升序排列,如果改为return a>b,则为降序

}

当第三个参数compare返回true时,a所会在b前面,当返回false时,a在b的后面。


#include <iostream>
#include <algorithm>
using namespace std;

bool compare(int a, int b)
{
	return a  > b;		//写成a>b则是降序,写成a<b则是升序。相当于告诉sort()函数它该如何排序
}
int main()
{
	int a[8] = { 4,2,7,5,8,6,1,3 };

	//sort()函数,第一个参数为起始地址,第二个参数为结束地址(结束地址不能是数组最后一个元素,因此为a+8
	sort(a,a+8,compare);	//第3个参数为原则函数,相当于告诉sort()函数它该如何排序,不写第3个参数默认升序。
	for (int i = 0; i < sizeof(a) / sizeof(int); i++)
	{
		cout << a[i] << endl;
	}

	
	return 0;
}

2)使用c++库函数作为第3参数,让sort()排序

less<数据类型>()        //从小到大排序

greater<数据类型>()        //从大到小排序


#include <iostream>
#include <algorithm>
using namespace std;


int main()
{
	int a[8] = { 4,2,7,5,8,6,1,3 };

	//sort()函数,第一个参数为起始地址,第二个参数为结束地址(结束地址不能是数组最后一个元素,因此为a+8
	sort(a,a+8,greater<int>());			//greater<数据类型>()        从大到小排序
	for (int i = 0; i < sizeof(a) / sizeof(int); i++)
	{
		cout << a[i] << endl;
	}
	cout << endl << endl;
	sort(a, a + 8, less<int>());		//less<数据类型>()        从小到大排序
	for (int i = 0; i < sizeof(a) / sizeof(int); i++)
	{
		cout << a[i] << endl;
	}
	
	return 0;
}


 qsort()

C++ qsort()实例讲解-CSDN博客文章浏览阅读3次。本文章向大家介绍C++ qsort()实例讲解,主要分析其语法、参数、返回值和注意事项,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。C++ 中的qsort() 函数使用快速排序算法按升序对给定数组进行排序。qsort() 函数使用比较函数来决定哪个元素比另一个更小/更大。https://blog.csdn.net/Dear_JIANJIAN/article/details/136192710?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22136192710%22%2C%22source%22%3A%22Dear_JIANJIAN%22%7D 注:qsort()为c语言函数,在<stdlib.h>库中

参考:

C++ 排序函数 sort(),qsort()的用法_c++ qsort-CSDN博客文章浏览阅读1.9k次,点赞3次,收藏8次。C库函数qsort,C++库函数sort。其中qsort相对较慢,sort实现非常高效qsort:功 能: 使用快速排序例程进行排序头文件:#include用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));参数: 1 待排序数组_c++ qsorthttps://blog.csdn.net/zl10086111/article/details/72722015CC++ qsort函数和sort函数_c 的sort和c的qsort-CSDN博客文章浏览阅读725次。qsort() 函数和 sort() 函数实现排序功能,前者是 C 语言内容,后者是 C++ 内容,下面逐一讲解。qsort()先来看一个对数组 arr 排序的例子。qsort() 函数在 stdlib.h 库中,使用时要包含该库文件。#include #include int cmp1(int * a, int * b){return *a - *b;}int main(){int arr[5] = {3, 1, _c 的sort和c的qsorthttps://blog.csdn.net/Yu_L2/article/details/123079519

C++ 排序函数 sort(),qsort()的用法_qsort cpp-CSDN博客文章浏览阅读3.9w次,点赞31次,收藏112次。想起来自己天天排序排序,冒泡啊,二分查找啊,结果在STL中就自带了排序函数sort,qsort,总算把自己解脱了~所以自己总结了一下,首先看sort函数见下表: 函数名功能描述sort对给定区间所有元素进行排序stable_sort对给定区间所有元素进行稳定排序partial_sort对给定区间所有元素部分排序_qsort cpphttps://blog.csdn.net/wordwarwordwar/article/details/40976681C++:七种qsort排序方法-CSDN博客文章浏览阅读494次。一、对int类型数组排序 C/C++ code int num[100]; Sample: int cmp ( const void *a , const void *b ) { return *(int *)a - *(int *)b; } qsort(num,100,sizeof(nu..._c++ qsorthttps://blog.csdn.net/chengyunpeng0198/article/details/101038383

  • 33
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值