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