《算法导论》书中的第95页。时间复杂度O(nlgn),空间复杂度O(lgn)。
c语言快速排序的库函数用法,测试程序请点击这里。函数原型:
// compar(a, b):
// return *a - *b: 升序
// return *b - *a: 降序
void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void *));
《算法导论》书中的第17页。时间复杂度O(nlgn),空间复杂度O(n)。
这个题目主要是熟悉一下c语言快速排序的库函数qsort()
的用法,
c语言实现:
int cmp(const void *a, const void *b)
{
return *(int *)a - *(int *)b;
}
bool containsDuplicate(int* nums, int numsSize) {
(nums, numsSize, sizeof(int), cmp);
qsortfor (int i = 1; i < numsSize; i++) {
if (nums[i] == nums[i - 1])
return true;
}
return false;
}