parent
							
								
									43b20bfea2
								
							
						
					
					
						commit
						74ca2f8fcf
					
				| @ -0,0 +1,9 @@ | ||||
| #ifndef UTIL_ARRAY_H | ||||
| #define UTIL_ARRAY_H | ||||
| 
 | ||||
| #include <stdint.h> | ||||
| #include <stdlib.h> | ||||
| 
 | ||||
| size_t push_zeroes_to_end(uint32_t arr[], size_t n); | ||||
| 
 | ||||
| #endif | ||||
| @ -0,0 +1,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; | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue