mirror of
https://git.wolves.top/wolves/leetcode.git
synced 2025-11-04 17:26:32 +08:00
17 lines
516 B
C
17 lines
516 B
C
static int cmp(const void *pa, const void *pb) {
|
|
return *(int *)pa - *(int *)pb;
|
|
}
|
|
|
|
void wiggleSort(int* nums, int numsSize) {
|
|
int * arr = (int *)malloc(sizeof(int) * numsSize);
|
|
memcpy(arr, nums, sizeof(int) * numsSize);
|
|
qsort(arr, numsSize, sizeof(int), cmp);
|
|
int x = (numsSize + 1) / 2;
|
|
for (int i = 0, j = x - 1, k = numsSize - 1; i < numsSize; i += 2, j--, k--) {
|
|
nums[i] = arr[j];
|
|
if (i + 1 < numsSize) {
|
|
nums[i + 1] = arr[k];
|
|
}
|
|
}
|
|
free(arr);
|
|
} |