|
|
|
@@ -0,0 +1,35 @@ |
|
|
|
#include <stdio.h> |
|
|
|
|
|
|
|
void moveZeroes(int*, int); |
|
|
|
void moveZeroes(int* nums, int numsSize){ |
|
|
|
int numZeroes = 0; |
|
|
|
for (int i = 0; i < numsSize; i++) { |
|
|
|
if (nums[i] == 0) { |
|
|
|
numZeroes++; |
|
|
|
} else { |
|
|
|
nums[i - numZeroes] = nums[i]; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
for (int i = 0; i < numZeroes; i++) { |
|
|
|
nums[numsSize - 1 - i] = 0; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
int main() { |
|
|
|
int nums[5] = {0, 1, 0, 3, 12}; |
|
|
|
int expectedResult[5] = {1, 3, 12, 0, 0}; |
|
|
|
printf("Expected: "); |
|
|
|
for (int i = 0; i < 5; i++) { |
|
|
|
printf("%d ", expectedResult[i]); |
|
|
|
} |
|
|
|
printf("\n"); |
|
|
|
|
|
|
|
moveZeroes(nums, 5); |
|
|
|
|
|
|
|
printf("Got: "); |
|
|
|
for (int i = 0; i < 5; i++) { |
|
|
|
printf("%d ", nums[i]); |
|
|
|
} |
|
|
|
printf("\n"); |
|
|
|
} |