其他具体情况点击
????????????????????????????????????????? |
---|
C语言“stdlib.h” 中的 qsort 函数的简介和用法(结构中排序可能C语言会出现语法错误,可在C++中使用) |
sort()函数与qsort()函数用法 |
c++的sort详解 |
插入排序、选择排序、冒泡排序、快速排序、堆排序、归并排序、希尔排序、二叉树排序、计数排序、桶排序、基数排序。 |
????????????????????????????????????????? |
- 下面是常用的“stdlib.h” 中的 qsort 函数部分用法:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int charsort1(const void *a,const void *b)//小到大排序
{
return *(char*)a-*(char*)b;
}/*
int charsort2(const void *a,const void *b)//大到小排序
{
return *(char*)b-*(char*)a;
}*/
int intsort1(const void *a,const void *b)//小到大排序
{
return *(int*)a-*(int*)b;
}/*
int intsort2(const void *a,const void *b)//大到小排序
{
return *(int*)b-*(int*)a;
}*/
int main(void)
{
int i;
char str[]="abfcd5652";
int a[]={8,5,6,69,2,3,5,52,6,2};
/*输出原字符串*/
printf("输出 str 原字符串:\n");
for(i=0;str[i]!='\0';i++)
printf("%c ",str[i]);
printf("\n");
/*输出现字符串*/
qsort(str,strlen(str),sizeof(str[0]),charsort1);//排序str[]
printf("输出 str 现字符串:\n");
for(i=0;str[i]!='\0';i++)
printf("%c ",str[i]);
printf("\n\n");
/*输出原数组*/
int n=sizeof(a)/sizeof(a[0]);
printf("输出 a 原字符串:\n");
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
/*输出现数组*/
qsort(a,n,sizeof(a[0]),intsort1);//排序a[]
printf("输出 a 现字符串:\n");
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}