La tarea es desplazar todos los ceros que aparecen en la array hasta el final de la array. En Golang, esto se puede hacer de la siguiente manera:
Ejemplo:
Input: 1 0 7 0 3 Output: 1 7 3 0 0
Go
// Golang program to shift all zero to the end of an array package main import ( "fmt" ) func main() { // Creating an array of tiny type // Using var keyword var ar [5]int // Elements are assigned using index ar[0] = 1 ar[1] = 0 ar[2] = 7 ar[3] = 0 ar[4] = 3 // taking the length of array var arr_ele_number = len(ar) var last_non_zero_index = 0 for i := 0; i < arr_ele_number; i++ { if ar[i] != 0 { ar[last_non_zero_index], ar[i] = ar[i], ar[last_non_zero_index] last_non_zero_index++ } } fmt.Println("The array elements after shifting all zero to ends") for i := 0; i < arr_ele_number; i++ { fmt.Printf("%d ", ar[i]) } }
Producción:
The array elements after shifting all zero to ends: 1 7 3 0 0
Explicación: La lógica detrás del ejemplo anterior es que el usuario ingresa la cantidad de elementos y los valores de esos elementos. Luego, la array se recorre mientras se buscan los ceros y los ceros se desplazan al final de la array.
Publicación traducida automáticamente
Artículo escrito por preetikagupta8171 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA