c语言的库函数之快排

之前都是手写的快排 但是毕竟写太多快排了 是时候用一波他自己自带的快排了说实话要不是之前用了一次 stl 感觉封装好了的东西实在是太好用了 不禁又回想起当初用python 写的复杂的数据结构 简直不要太简单 省去打很多字而且还能保证正确
C语言的排序是快排 qsort
首地址 然后是 有几个元素 然后是每一个元素的大小 然后是比较器
cmp尤为重要 返回 正数是大于 0 是等于呢 负数是小于自己
回来试一下 qsort 支不支持c++ 里面的stl 排序 实在不行我用 c++ 自己的排序也行

#include<cstdio>
#include<cstdlib>
using namespace std;
int cmp(const void*a,const void *b)
{
	if(*(int*)a == 11)
	{
		return 1;
	}
	if(*(int*)a == 100)
	{
		return -1;
	}
	return 0;
}
int main(void) 
{
	int n;
	scanf("%d",&n);
	int a[n],i;
	for(i = 0;i < n;i++)
	{
		scanf("%d",a+i);
	}   
	qsort(a,n,sizeof(int),cmp);
	
	for(i= 0;i < n;i++)
	{
		printf("%d ",a[i]);
	}
	puts("");
	main();
	return 0;
}

刚才就试了一下 发现qsort 好像不行 算了还是用C++ 它自带的排序吧
哎~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我难道真的要被逐渐 C++ 化了么
从刚开始的全部用C 到现在的一半C 一半的C++ 我无比的惆怅 感觉每一次写这种 半C 半C++的代码好有负罪感 好像是背着 C和C++偷情

enum 算了不写 C++ 的快排了
发布了37 篇原创文章 · 获赞 0 · 访问量 337

猜你喜欢

转载自blog.csdn.net/weixin_43191153/article/details/104543117
今日推荐