看到这道题,我们可以先吧原来的混乱数组按相同数放一起的要求进行整理:
比如数组a=[1,3,4,6,3,4]按要求整理后变成了数组a=[1,3,3,4,4,6]
c语言编译器中有一个自带的排序函数是
qsort函数,标准头文件是stdlib.h
qsort函数有3个量和一个回调函数,也是最重要的一个部分,如下:
void qsort(void *a, size_t b, size_t c, int (*d)(const void *, const void*))
参数a:数组第一个元素的指针。
参数b:数组元素的个数。
参数c:元素的大小,数据类型,字节为单位。
回调函数d:int d(const void* p1,const void* p2)
{
return (*(int*)p1-*(int*)p2);如果返回值>0,p1在p2右侧,反之在左侧,相等则顺序不确定。
}
那么这个代码就很轻松了:
int cmm(const void* a,const void* b)
{
return (*(int*)a-*(int*)b);
}
bool containsDuplica