C语言“快速排序”函数写法

 代码是:C语言中快速排的写法,要加入头文件   <stdlib.h>

       qsort(数组名, 长度, 数据类型大小,比较算子 );

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int cmp(const void *a, const void *b)
{
	return *(int *)a-*(int *)b;      //从小到大进行排序   例如输出: 1 2 3 4 5
}

int main()
{
	int a[100];
	int n;
	int i, j;
	while(scanf("%d", &n)!=EOF)
	{
		for(i=0; i<n; i++)
		{
			scanf("%d", &a[i] );
		}
		qsort(a, n, sizeof(int), cmp);

		for(j=0; j<n; j++)
		{
			printf("%d%c", a[j], i==n-1?‘\n‘:‘ ‘ );
		}
	}
	return 0;
}

  

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int cmp(const void *a, const void *b)
{
	return *(int *)b-*(int *)a;   //从大到小进行排序   例如输出: 5 4 3 2 1
}

int main()
{
	int a[100];
	int n;
	int i, j;
	while(scanf("%d", &n)!=EOF)
	{
		for(i=0; i<n; i++)
		{
			scanf("%d", &a[i] );
		}
		qsort(a, n, sizeof(int), cmp);

		for(j=0; j<n; j++)
		{
			printf("%d%c", a[j], i==n-1?‘\n‘:‘ ‘ );
		}
	}
	return 0;
}

  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。