Skip to content

Commit be46e0a

Browse files
committed
Refact all Go files
1 parent b934dfe commit be46e0a

28 files changed

+228
-217
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
package bubblesort
1+
package main
22

3-
// Bubble Sort tradicional
4-
func BubbleSort(slice []int) {
3+
import "fmt"
4+
5+
// Iterativo
6+
func BubbleSortIterativo(slice []int) {
57
for indice1 := len(slice) - 1; indice1 > 0; indice1-- {
68
for indice2 := 0; indice2 < indice1; indice2++ {
79
if slice[indice2] > slice[indice2+1] {
@@ -11,8 +13,8 @@ func BubbleSort(slice []int) {
1113
}
1214
}
1315

14-
// Bubble Sort recursivo
15-
func Recursivo(slice []int, tamanho int) {
16+
// Recursivo
17+
func BubbleSortRecursivo(slice []int, tamanho int) {
1618
trocas := 0
1719
for indice := 0; indice < tamanho-1; indice++ {
1820
if slice[indice] > slice[indice+1] {
@@ -21,6 +23,13 @@ func Recursivo(slice []int, tamanho int) {
2123
}
2224
}
2325
if trocas != 0 {
24-
Recursivo(slice, tamanho-1)
26+
BubbleSortRecursivo(slice, tamanho-1)
2527
}
2628
}
29+
30+
func main() {
31+
slice := []int{5, 2, 1, 6, 9, 8, 7, 3, 4}
32+
fmt.Println("Slice:", slice)
33+
BubbleSortIterativo(slice)
34+
fmt.Println("BubbleSort:", slice)
35+
}

src/go/busca_binaria.go

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package main
2+
3+
import "fmt"
4+
5+
func BinarySearch(seq []int, element, start, end int) int {
6+
index := (start + end) / 2
7+
8+
if index < len(seq) && seq[index] == element {
9+
return index
10+
}
11+
12+
if start != end {
13+
if seq[index] < element {
14+
return BinarySearch(seq, element, index+1, end)
15+
}
16+
17+
return BinarySearch(seq, element, start, index-1)
18+
}
19+
20+
return -1
21+
}
22+
23+
func main() {
24+
value := 7
25+
slice := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
26+
fmt.Println("Slice:", slice)
27+
index := BinarySearch(slice, value, 0, len(slice))
28+
fmt.Println("Value", value, "found in index:", index)
29+
}

src/go/busca_binaria/busca_binaria.go

-23
This file was deleted.

src/go/caixeiroviajante/caixeiroviajante.go renamed to src/go/caixeiro_viajante.go

+8-9
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
* 0 - 3 - 5 - 1 - 2 - 4 - 0: 13
3737
*/
3838

39-
package caixeiroviajante
39+
package main
4040

4141
import "fmt"
4242

@@ -52,7 +52,7 @@ var visitados []bool // Vertices visitados
5252
var valorMelhorSolucao int
5353
var valorSolucaoAtual int
5454

55-
func caixeiroViajanteAux(x int) {
55+
func CaixeiroViajanteAux(x int) {
5656

5757
// Significa que ja nao eh mais a melhor solucao podemos parar por aqui
5858
if valorSolucaoAtual > valorMelhorSolucao {
@@ -92,7 +92,7 @@ func caixeiroViajanteAux(x int) {
9292
// Incrementa o total do caminho percorrido com base na posicao da matriz
9393
valorSolucaoAtual += matrizDistancia[ultimo][i]
9494
// Chama recursivamente para o proximo vertice
95-
caixeiroViajanteAux(x + 1)
95+
CaixeiroViajanteAux(x + 1)
9696
// Se ainda nao terminou decrementa o valor da variabel que guarta o total do caminho
9797
valorSolucaoAtual -= matrizDistancia[ultimo][i]
9898
// Define como nao visitada para poder ser acessada por outro vertice
@@ -101,12 +101,12 @@ func caixeiroViajanteAux(x int) {
101101
}
102102
}
103103

104-
func caixeiroViajante(posicaoInicial int) {
104+
func CaixeiroViajante(posicaoInicial int) {
105105
// Verifica se a posicao eh valida
106106
if posicaoInicial < vertices {
107107
visitados[posicaoInicial] = true // Marca o primeiro vertice como visitado
108108
tempSolucao[0] = posicaoInicial // Coloca a posicao inicial na primeira posicao da solucao temporaria
109-
caixeiroViajanteAux(1) // Chama o metodo auxiliar do caixeiro viajante
109+
CaixeiroViajanteAux(1) // Chama o metodo auxiliar do caixeiro viajante
110110
} else {
111111
fmt.Println("Vertice inicial invalid")
112112
}
@@ -140,12 +140,11 @@ func inicia() {
140140
matrizDistancia = append(matrizDistancia, linha5)
141141
}
142142

143-
// Funcao que roda o exemplo do caixeiro viajante
144-
func Run() {
143+
func main() {
145144
inicia()
146-
caixeiroViajante(0)
145+
CaixeiroViajante(0)
147146

148-
fmt.Println("\nCaixeiro Viajante")
147+
fmt.Println("Caixeiro Viajante")
149148
fmt.Println("Caminho minimo:", valorMelhorSolucao)
150149
for i := 0; i < vertices; i++ {
151150
fmt.Print(melhorSolucao[i], ", ")

src/go/calculatepi/calculatepi.go renamed to src/go/calculate_pi.go

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
package calculatepi
1+
package main
2+
3+
import "fmt"
24

35
func CalculatePi(terms []int) []float64 {
46
var denominator float64
@@ -16,3 +18,9 @@ func CalculatePi(terms []int) []float64 {
1618
}
1719
return pi
1820
}
21+
22+
func main() {
23+
slice := []int{10, 1000, 100000, 10000000}
24+
fmt.Println("Slice:", slice)
25+
fmt.Println("Pi:", CalculatePi(slice))
26+
}

src/go/cocktailsort/cocktailsort.go renamed to src/go/cocktail_sort.go

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
package cocktailsort
1+
package main
2+
3+
import "fmt"
24

35
func CocktailSort(slice []int) {
46

@@ -30,3 +32,10 @@ func CocktailSort(slice []int) {
3032
begining++
3133
}
3234
}
35+
36+
func main() {
37+
slice := []int{1, 5, 8, 3, 7, 4, 9, 6, 2}
38+
fmt.Println("Slice:", slice)
39+
CocktailSort(slice)
40+
fmt.Println("CocktailSort:", slice)
41+
}

src/go/combsort/combsort.go renamed to src/go/comb_sort.go

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
package combsort
1+
package main
2+
3+
import "fmt"
24

35
func CombSort(slice []int) {
46
shrinkFactor := 1.247330950103979
@@ -23,3 +25,10 @@ func CombSort(slice []int) {
2325
}
2426
}
2527
}
28+
29+
func main() {
30+
slice := []int{6, 5, 8, 7, 3, 4, 2, 1, 9}
31+
fmt.Println("Slice:", slice)
32+
CombSort(slice)
33+
fmt.Println("CombSort:", slice)
34+
}

src/go/countingsort/countingsort.go renamed to src/go/counting_sort.go

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
package countingsort
1+
package main
2+
3+
import "fmt"
24

35
func CountingSort(slice []int) {
46
if len(slice) < 1 {
@@ -34,3 +36,10 @@ func CountingSort(slice []int) {
3436
slice[index] = temp2[index]
3537
}
3638
}
39+
40+
func main() {
41+
slice := []int{9, 5, 8, 7, 3, 2, 1, 6, 4}
42+
fmt.Println("Slice:", slice)
43+
CountingSort(slice)
44+
fmt.Println("CountingSort:", slice)
45+
}

src/go/dijkstra/dijkstra.go renamed to src/go/dijkstra.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,7 @@
3636

3737
package main
3838

39-
import (
40-
"fmt"
41-
)
39+
import "fmt"
4240

4341
var nroVertices = 5
4442

Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1-
package exponenciacao
1+
package main
2+
3+
import "fmt"
24

35
func Exponenciacao(base int, expoente int) int {
46
for index := 0; index < (expoente - 1); index++ {
57
base *= expoente
68
}
79
return base
810
}
11+
12+
func main() {
13+
fmt.Println("Exponenciacao:", Exponenciacao(5, 5))
14+
}
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1-
package fatorial
1+
package main
2+
3+
import "fmt"
24

35
func Fatorial(value int) int {
46
if value == 1 {
57
return 1
68
}
79
return value * Fatorial(value-1)
810
}
11+
12+
func main() {
13+
fmt.Println("Fatorial:", Fatorial(6))
14+
}
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1-
package fibonacci
1+
package main
2+
3+
import "fmt"
24

35
func Fibonacci(value int) int {
46
if value <= 1 {
57
return 1
68
}
79
return Fibonacci(value-1) + Fibonacci(value-2)
810
}
11+
12+
func main() {
13+
fmt.Println("Fibonacci:", Fibonacci(9))
14+
}

src/go/floyd_warshall/floyd_warshall.go renamed to src/go/floyd_warshall.go

+14-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
package floydwarshall
1+
package main
2+
3+
import "fmt"
24

35
// Grafos - Algoritmo de Floyd-Warshall em GO
46
// Douglas Oliveira - 2022
@@ -30,3 +32,14 @@ func FloydWarshall(graph [][]int) [][]int {
3032

3133
return dist
3234
}
35+
36+
var graph = [][]int{
37+
{0, 5, 999, 10},
38+
{999, 0, 3, 999},
39+
{999, 999, 0, 1},
40+
{999, 999, 999, 0},
41+
}
42+
43+
func main() {
44+
fmt.Println(FloydWarshall(graph))
45+
}

src/go/gnomesort/gnomesort.go renamed to src/go/gnome_sort.go

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
package gnomesort
1+
package main
2+
3+
import "fmt"
24

35
func GnomeSort(slice []int) {
46
pivot := 0
@@ -14,3 +16,10 @@ func GnomeSort(slice []int) {
1416
pivot++
1517
}
1618
}
19+
20+
func main() {
21+
slice := []int{2, 5, 1, 7, 4, 9, 8, 6, 3}
22+
fmt.Println("Slice:", slice)
23+
GnomeSort(slice)
24+
fmt.Println("GnomeSort:", slice)
25+
}

src/go/go

-1.92 MB
Binary file not shown.

src/go/hanoi/hanoi.go renamed to src/go/hanoi.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package hanoi
1+
package main
22

33
import "fmt"
44

@@ -11,3 +11,8 @@ func Hanoi(pino0 int, pino2 int, pino1 int, numero int) {
1111
Hanoi(pino1, pino2, pino0, numero-1)
1212
}
1313
}
14+
15+
func main() {
16+
fmt.Println("Torre de Hanoi:")
17+
Hanoi(0, 2, 1, 3)
18+
}

src/go/heapsort/heapsort.go renamed to src/go/heap_sort.go

+15-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
package heapsort
1+
package main
2+
3+
import "fmt"
24

35
func HeapSort1(slice []int) {
46

@@ -78,3 +80,15 @@ func clearTree(slice []int, length int, position int) {
7880
clearTree(slice, length, largest)
7981
}
8082
}
83+
84+
func main() {
85+
slice := []int{6, 8, 7, 9, 1, 5, 4, 2, 3}
86+
fmt.Println("Slice:", slice)
87+
HeapSort1(slice)
88+
fmt.Println("HeapSort1:", slice)
89+
90+
slice = []int{6, 8, 7, 9, 1, 5, 4, 2, 3}
91+
fmt.Println("Slice:", slice)
92+
HeapSort2(slice)
93+
fmt.Println("HeapSort2:", slice)
94+
}

src/go/insertionsort/insertionsort.go renamed to src/go/insertion_sort.go

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
package insertionsort
1+
package main
2+
3+
import "fmt"
24

35
func InsertionSort(slice []int) {
46
for index1 := 1; index1 < len(slice); index1++ {
@@ -13,3 +15,10 @@ func InsertionSort(slice []int) {
1315
slice[index2+1] = currentValue
1416
}
1517
}
18+
19+
func main() {
20+
slice := []int{9, 8, 7, 5, 1, 2, 4, 3, 6}
21+
fmt.Println("Slice:", slice)
22+
InsertionSort(slice)
23+
fmt.Println("InsertionSort:", slice)
24+
}

0 commit comments

Comments
 (0)