1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
#include <stdlib.h> #include <stdint.h> // https://www.geeksforgeeks.org/move-zeroes-end-array/ size_t push_zeroes_to_end(uint32_t arr[], size_t n) { size_t count = 0; for (size_t i = 0; i < n; i++) { if (arr[i] != 0) { arr[count++] = arr[i]; } } size_t ret = count; while (count < n) { arr[count++] = 0; } return ret; }