思路很简单,将数组的元素进行排序,分为两个一组,取最小值,因此就是取下标为0、2、4的元素
题目如下
qsort的使用方法如下
在头文件<stdlib.h>中
函数原型为 void qsort (void* base, size_t num, size_t size,int (compar)(const void,const void*));
base :指向要排序的数组的第一个对象的指针
num :指向数组中的基本元素的个数
size :数组中每个元素的大小(以字节为单位)
compar :指向比较两个元素的函数的指针。这个函数由qSort反复调用,以比较两个元素。
Compar 函数编写作用是由小到大排序,这里只是需要compar函数返回正值、负值或者零即可。
int cmp(const void *a, const void *b)
{
return *(int*)a - *(int*)b; //由小到大排序
//return *(int *)b - *(int *)a; 由大到小排序
}
int arrayPairSum(int* nums, int numsSize){
int res=0,t;
int cmp(int *a,int *b)
{
return (*a-*b);
}
qsort(nums,numsSize,sizeof(int),cmp);
for(int i=0;i<numsSize;i+=2)
{
res += nums[i];
}
return res;
}