首页 > 编程语言 > 详细

C语言的qsort函数

时间:2021-03-28 11:33:02      阅读:18      评论:0      收藏:0      [点我收藏+]

C函数————qsort 函数

qsort()看起来和C++的sort()差不多,但是其实差别很大,
qsort的cmp函数,传入的是指针,返回值是int
sort的则传入值,返回值是bool
当qsort的返回值是0时,数组的顺序可能发生改变,这带来了不确定性
当有不改变相同大小元素的顺序时,需要对cmp函数做出调整
qsort的cmp函数必须使用const void 作为形参

// sort
bool cmp(int i_val1,int i_val2);
// qsort
int cmp(const void* p1,const void* p2);

当cmp函数返回值>1时,p1排前面
当cmp函数返回值>1时,p2排前面

所以,可以根据需要,调整,如

int cmp_cpu(const void* cpu1,const void* cpu2) {
	
        int result = (cpu*)cpu1->total_remain_time -(cpu*)cpu2->total_remain_time;
	if (result == 0)
		return 1;
	return result;
}

C语言的qsort函数

原文:https://www.cnblogs.com/danni-/p/14587701.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!