diff --git a/README.md b/README.md index 38ad632b..ff93fc0c 100644 --- a/README.md +++ b/README.md @@ -2,76 +2,76 @@ Este repositório disponibiliza alguns algoritmos e estruturas de dados clássicos em **Ciência da Computação**. Além disso, disponibiliza também alguns problemas extras que são encontrados com frequência em desafios de programação. -Com o objetivo de alcançar uma abrangência maior e encorajar novas pessoas a contribuir com o projeto, os algoritmos são disponibilizados nas seguintes linguagens: **C/C++**, **Java**, **Python**, **Go**, **Ruby**, **Javascript**, **Pascal**, **Swift** e **Rust**. +Com o objetivo de alcançar uma abrangência maior e encorajar novas pessoas a contribuir com o projeto, os algoritmos são disponibilizados nas seguintes linguagens: **C**, **C++**, **Java**, **Python**, **Go**, **Ruby**, **Javascript**, **Pascal**, **Swift** e **Rust**. -| Algoritmos | C/C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | -| ------------------------------- | ------------------------------------------- | ----------------------------------------- | ---------------------------------------------------- | --------------------------------------------------- | ---------------------------------------------- | ------------------------------------------------- | ------------------------------------------ | -------------------------------------------- | ---------------------------------------------- | -| [Algoritmo Dijkstra][1] | [C/C++](./src/c/AlgoritmoDijkstra.c) | Java | [Python](./src/python/dijkstra.py) | [Go](./src/go/dijkstra/dijkstra.go) | Ruby | [JS](src/javascript/AlgoritmoDijkstra.js) | Pascal | Swift | Rust | -| [Algoritmo Floyd Warshall][2] | [C/C++](./src/c/AlgoritmoFloydWarshall.c) | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | -| [Busca Binária][5] | [C/C++](./src/c/BinarySearch.cpp) | Java | [Python](./src/python/busca_binaria.py) | Go | [Ruby](./src/ruby/BuscaBinaria.rb) | [JS](./src/javascript/BinarySearch.js) | [Pascal](./src/pascal/busca-binaria.pas) | Swift | Rust | -| [Busca em Grafos][6] | [C/C++](./src/c/BuscaEmGrafo.c) | Java | [Python](./src/python/busca_em_grafo.py) | Go | Ruby | [JS](./src/javascript/GraphSearch.js) | Pascal | Swift | Rust | -| [Busca Sequencial][7] | [C/C++](./src/c/BuscaSequencial.c) | Java | [Python](./src/python/busca_sequencial.py) | Go | [Ruby](./src/ruby/BuscaSequencial.rb) | [JS](./src/javascript/BuscaLinear.js) | Pascal | Swift | Rust | -| [Busca Sequencial Recursiva][8] | [C/C++](./src/c/BuscaSequencialRecursiva.c) | Java | [Python](./src/python/busca_sequencial_recursiva.py) | Go | [Ruby](src/ruby/Busca_Sequencial_Recursiva.rb) | [JS](./src/javascript/RecursiveLinearSearch.js) | Pascal | Swift | Rust | -| [Busca utilizando Sentinela][9] | [C/C++](./src/c/BuscaSentinela.c) | Java | [Python](./src/python/busca_sentinela.py) | Go | [Ruby](./src/ruby/BuscaSentinela.rb) | JS | Pascal | Swift | Rust | -| [Busca por Interpolação][55] | [C/C++](./src/c/Interpolation_search.cpp) | Java | [Python](./src/python/interpolation_search.py) | Go | Ruby | JS | Pascal | Swift | Rust | -| [Caixeiro Viajante][10] | [C/C++](./src/c/CaixeiroViajante.c) | Java | Python | [Go](./src/go/caixeiroviajante/caixeiroviajante.go) | Ruby | JS | Pascal | Swift | Rust | -| [Ciclo Hamiltoniano][11] | [C/C++](./src/c/CicloHamiltoniano.c) | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | -| [Componentes Conexos][12] | [C/C++](./src/c/ComponentesConexos.c) | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | -| [Exponenciação][13] | [C/C++](./src/c/Exponenciacao.c) | Java | [Python](./src/python/exponenciacao.py) | [Go](./src/go/exponenciacao/exponenciacao.go) | [Ruby](./src/ruby/Exponenciacao.rb) | [JS](./src/javascript/Exponentiation.js) | Pascal | Swift | Rust | -| [Exponenciação Recursiva][14] | [C/C++](./src/c/ExponenciacaoRecursiva.c) | Java | [Python](./src/python/exponenciacao_recursiva.py) | Go | [Ruby](./src/ruby/ExponenciacaoRecursiva.rb) | [JS](./src/javascript/ExponentiationRecursive.js) | Pascal | Swift | [Rust](./src/rust/exponentiation_recursive.rs) | -| [Fatorial][15] | [C/C++](./src/c/Fatorial.c) | [Java](./src/java/Fatorial.java) | [Python](./src/python/fatorial.py) | [Go](./src/go/fatorial/fatorial.go) | [Ruby](./src/ruby/Fatorial.rb) | [JS](./src/javascript/Factorial.js) | [Pascal](./src/pascal/fatorial.pas) | [Swift](./src/swift/fatorial.swift) | Rust | -| [Fatorial Recursiva][16] | [C/C++](./src/c/FatorialRecursiva.c) | [Java](./src/java/FatorialRecursiva.java) | [Python](./src/python/fatorial_recursiva.py) | Go | [Ruby](./src/ruby/Fatorial.rb) | [JS](./src/javascript/FactorialRecursive.js) | [Pascal](src/pascal/fatorial-recusiva.pas) | [Swift](./src/swift/fatorialRecursivo.swift) | [Rust](./src/rust/fatorial_recursiva.rs) | -| [Fibonacci][17] | [C/C++](./src/c/Fibonacci.cpp) | [Java](./src/java/Fibonacci.java) | [Python](./src/python/fibonacci.py) | [Go](./src/go/fibonacci/fibonacci.go) | [Ruby](./src/ruby/Fibonacci.rb) | [JS](./src/javascript/Fibonacci.js) | Pascal | [Swift](./src/swift/fibonacci.swift) | [Rust](./src/rust/fibonacci.rs) | -| [Máximo Recursivo][26] | [C/C++](./src/c/MaxRecursivo.c) | Java | Python | Go | Ruby | [JS](./src/javascript/MaxRecursive.js) | Pascal | Swift | Rust | -| [Mín. e Máx. Iterativo][27] | C/C++ | [Java](./src/java/MaxMinArray.java) | [Python](./src/python/min_max_iterativo.py) | Go | Ruby | [JS](./src/javascript/IterativeMinAndMax.js) | Pascal | Swift | [Rust](./src/rust/min_max_iterativo.rs) | -| [Mín. e Máx. Recursivo][28] | [C/C++](./src/c/MaxMinRecursivo.c) | Java | [Python](./src/python/maximo_minimo_recursivo.py) | [Go](./src/go/maximominimo/MaximoMinimo.go) | Ruby | [JS](./src/javascript/RecursiveMinAndMax.js) | Pascal | Swift | [Rust](./src/rust/min_max_recursivo.rs) | -| Mín. e Máx. D&C | C/C++ | Java | [Python](./src/python/maximo_recursivo_dc.py) | [Go](./src/go/maximominimo/MaximoMinimo.go) | Ruby | JS | Pascal | Swift | Rust | -| [Passeio do Cavalo][30] | C/C++ | Java | [Python](./src/python/passeio_do_cavalo.py) | Go | Ruby | JS | Pascal | Swift | Rust | -| [Torre de Hanói][33] | [C/C++](./src/c/TorreDeHanoi.c) | [Java](./src/java/TorreDeHanoi.java) | [Python](./src/python/torre_de_hanoi.py) | [Go](./src/go/hanoi/hanoi.go) | [Ruby](./src/ruby/Hanoi.rb) | [JS](./src/javascript/TorreDeHanoi.js) | Pascal | [Swift](./src/swift/hanoi.swift) | [Rust](./src/rust/torre_hanoi.rs) | -| [Algoritmo Genético][51] | C/C++ | Java | [Python](./src/python/genetic_algorithm.py) | Go | Ruby | JS | Pascal | Swift | Rust | +| Algoritmos | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | +| ------------------------------- | ---- | --------------------------------------- | ----------------------------------------- | ---------------------------------------------------- | --------------------------------------------------- | ---------------------------------------------- | ------------------------------------------------- | ------------------------------------------ | -------------------------------------------- | ---------------------------------------------- | +| [Algoritmo Dijkstra][1] | [C](./src/c/AlgoritmoDijkstra.c) | C++ | Java | [Python](./src/python/dijkstra.py) | [Go](./src/go/dijkstra/dijkstra.go) | Ruby | [JS](src/javascript/AlgoritmoDijkstra.js) | Pascal | Swift | Rust | +| [Algoritmo Floyd Warshall][2] | [C](./src/c/AlgoritmoFloydWarshall.c) | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | +| [Busca Binária][5] | C | [C++](./src/cpp/BinarySearch.cpp) | Java | [Python](./src/python/busca_binaria.py) | Go | [Ruby](./src/ruby/BuscaBinaria.rb) | [JS](./src/javascript/BinarySearch.js) | [Pascal](./src/pascal/busca-binaria.pas) | Swift | Rust | +| [Busca em Grafos][6] | [C](./src/c/BuscaEmGrafo.c) | C++ | Java | [Python](./src/python/busca_em_grafo.py) | Go | Ruby | [JS](./src/javascript/GraphSearch.js) | Pascal | Swift | Rust | +| [Busca Sequencial][7] | [C](./src/c/BuscaSequencial.c) | C++ | Java | [Python](./src/python/busca_sequencial.py) | Go | [Ruby](./src/ruby/BuscaSequencial.rb) | [JS](./src/javascript/BuscaLinear.js) | Pascal | Swift | Rust | +| [Busca Sequencial Recursiva][8] | [C](./src/c/BuscaSequencialRecursiva.c) | C++ | Java | [Python](./src/python/busca_sequencial_recursiva.py) | Go | [Ruby](src/ruby/Busca_Sequencial_Recursiva.rb) | [JS](./src/javascript/RecursiveLinearSearch.js) | Pascal | Swift | Rust | +| [Busca utilizando Sentinela][9] | [C](./src/c/BuscaSentinela.c) | C++ | Java | [Python](./src/python/busca_sentinela.py) | Go | [Ruby](./src/ruby/BuscaSentinela.rb) | JS | Pascal | Swift | Rust | +| [Busca por Interpolação][55] | C | [C++](./src/cpp/Interpolation_search.cpp) | Java | [Python](./src/python/interpolation_search.py) | Go | Ruby | JS | Pascal | Swift | Rust | +| [Caixeiro Viajante][10] | [C](./src/c/CaixeiroViajante.c) | C++ | Java | Python | [Go](./src/go/caixeiroviajante/caixeiroviajante.go) | Ruby | JS | Pascal | Swift | Rust | +| [Ciclo Hamiltoniano][11] | [C](./src/c/CicloHamiltoniano.c) | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | +| [Componentes Conexos][12] | [C](./src/c/ComponentesConexos.c) | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | +| [Exponenciação][13] | [C](./src/c/Exponenciacao.c) | C++ | Java | [Python](./src/python/exponenciacao.py) | [Go](./src/go/exponenciacao/exponenciacao.go) | [Ruby](./src/ruby/Exponenciacao.rb) | [JS](./src/javascript/Exponentiation.js) | Pascal | Swift | Rust | +| [Exponenciação Recursiva][14] | [C](./src/c/ExponenciacaoRecursiva.c) | C++ | Java | [Python](./src/python/exponenciacao_recursiva.py) | Go | [Ruby](./src/ruby/ExponenciacaoRecursiva.rb) | [JS](./src/javascript/ExponentiationRecursive.js) | Pascal | Swift | [Rust](./src/rust/exponentiation_recursive.rs) | +| [Fatorial][15] | [C](./src/c/Fatorial.c) | C++ | [Java](./src/java/Fatorial.java) | [Python](./src/python/fatorial.py) | [Go](./src/go/fatorial/fatorial.go) | [Ruby](./src/ruby/Fatorial.rb) | [JS](./src/javascript/Factorial.js) | [Pascal](./src/pascal/fatorial.pas) | [Swift](./src/swift/fatorial.swift) | Rust | +| [Fatorial Recursiva][16] | [C](./src/c/FatorialRecursiva.c) | C++ | [Java](./src/java/FatorialRecursiva.java) | [Python](./src/python/fatorial_recursiva.py) | Go | [Ruby](./src/ruby/Fatorial.rb) | [JS](./src/javascript/FactorialRecursive.js) | [Pascal](src/pascal/fatorial-recusiva.pas) | [Swift](./src/swift/fatorialRecursivo.swift) | [Rust](./src/rust/fatorial_recursiva.rs) | +| [Fibonacci][17] | C | [C++](./src/cpp/Fibonacci.cpp) | [Java](./src/java/Fibonacci.java) | [Python](./src/python/fibonacci.py) | [Go](./src/go/fibonacci/fibonacci.go) | [Ruby](./src/ruby/Fibonacci.rb) | [JS](./src/javascript/Fibonacci.js) | Pascal | [Swift](./src/swift/fibonacci.swift) | [Rust](./src/rust/fibonacci.rs) | +| [Máximo Recursivo][26] | [C](./src/c/MaxRecursivo.c) | C++ | Java | Python | Go | Ruby | [JS](./src/javascript/MaxRecursive.js) | Pascal | Swift | Rust | +| [Mín. e Máx. Iterativo][27] | C | C++ | [Java](./src/java/MaxMinArray.java) | [Python](./src/python/min_max_iterativo.py) | Go | Ruby | [JS](./src/javascript/IterativeMinAndMax.js) | Pascal | Swift | [Rust](./src/rust/min_max_iterativo.rs) | +| [Mín. e Máx. Recursivo][28] | [C](./src/c/MaxMinRecursivo.c) | C++ | Java | [Python](./src/python/maximo_minimo_recursivo.py) | [Go](./src/go/maximominimo/MaximoMinimo.go) | Ruby | [JS](./src/javascript/RecursiveMinAndMax.js) | Pascal | Swift | [Rust](./src/rust/min_max_recursivo.rs) | +| Mín. e Máx. D&C | C | C++ | Java | [Python](./src/python/maximo_recursivo_dc.py) | [Go](./src/go/maximominimo/MaximoMinimo.go) | Ruby | JS | Pascal | Swift | Rust | +| [Passeio do Cavalo][30] | C | C++ | Java | [Python](./src/python/passeio_do_cavalo.py) | Go | Ruby | JS | Pascal | Swift | Rust | +| [Torre de Hanói][33] | [C](./src/c/TorreDeHanoi.c) | C++ | [Java](./src/java/TorreDeHanoi.java) | [Python](./src/python/torre_de_hanoi.py) | [Go](./src/go/hanoi/hanoi.go) | [Ruby](./src/ruby/Hanoi.rb) | [JS](./src/javascript/TorreDeHanoi.js) | Pascal | [Swift](./src/swift/hanoi.swift) | [Rust](./src/rust/torre_hanoi.rs) | +| [Algoritmo Genético][51] | C | C++ | Java | [Python](./src/python/genetic_algorithm.py) | Go | Ruby | JS | Pascal | Swift | Rust | -| Estruturas de Dados | C/C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | -| -------------------------------- | ------------------------------------------- | ------------------------------------------------ | ---------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------ | ---------------------------------------------------- | ------------------------------------------ | -------------------------------------------- | ---------------------------------------------- | -| [Árvore Binária][4] | [C/C++](./src/c/ArvoreBinaria.c) | Java | [Python](./src/python/binary_tree.py) | Go | Ruby | JS | Pascal | Swift | Rust | -| [Árvore Binária de Busca][3] | [C/C++](./src/c/ArvoreBinariaDeBusca.c) | [Java](./src/java/ArvoreDeBuscaBinaria.java) | [Python](./src/python/arvore_binaria_de_busca.py) | Go | Ruby | [JS](./src/javascript/ArvoreDeBuscaBinaria.js) | Pascal | Swift | Rust | -| [Deque][54] | C/C++ | Java | Python | Go | Ruby | [JS](./src/javascript/Deque.js) | Pascal | [Swift](./src/swift/deque.swift) | [Rust](./src/rust/deque.rs) | -| [Fila][18] | [C/C++](./src/c/Fila.c) | [Java](./src/java/Fila.java) | [Python](./src/python/fila.py) | Go | [Ruby](./src/ruby/Fila.rb) | [JS](./src/javascript/Fila.js) | Pascal | [Swift](./src/swift/fila.swift) | [Rust](./src/rust/fila.rs) | -| [Fila Encadeada Dinâmica][19] | [C/C++](./src/c/FilaEncadeadaDinamica.c) | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | -| [Grafo][20] | [C/C++](./src/c/Grafos.c) | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | -| [Lista Circular Ligada][52] | [C/C++](./src/c/ListaCircularLigada.c) | Java | [Python](./src/python/lista_encadeada_circular.py) | Go | Ruby | JS | Pascal | Swift | Rust | -| [Lista Encadeada][22] | C/C++ | Java | [Python](./src/python/lista_encadeada.py) | Go | [Ruby](./src/ruby/Lista_encadeada.rb) | [JS](./src/javascript/ListaSimplesmenteEncadeada.js) | Pascal | Swift | [Rust](./src/rust/linked_list.rs) | -| [Lista Duplamente Encadeada][23] | [C/C++](./src/c/ListaDuplamenteEncadeada.c) | [Java](./src/java/ListaDuplamenteEncadeada.java) | [Python](./src/python/lista_duplamente_encadeada.py) | Go | [Ruby](./src/ruby/Lista_duplamente_encadeada.rb) | [JS](./src/javascript/ListaDuplamenteEncadeada.js) | Pascal | Swift | Rust | -| [Lista Ligada Não Ordenada][24] | [C/C++](./src/c/ListaLigadaNaoOrdenada.c) | Java | Python | [Go](src/go/listasequencialnaoordenada/listaSequencialNaoOrdenada.go) | Ruby | JS | Pascal | Swift | Rust | -| Lista Sequencial Ordenada | [C/C++](./src/c/ListaSequencialOrdenada.c) | Java | [Python](./src/python/lista_sequencial_ordenada.py) | [Go](src/go/listasequencialordenada/listaSequencialOrdenada.go) | Ruby | JS | Pascal | Swift | Rust | -| [Pilha][31] | [C/C++](./src/c/Pilha.c) | [Java](./src/java/Pilha.java) | [Python](./src/python/pilha.py) | Go | [Ruby](./src/ruby/Pilha.rb) | [JS](./src/javascript/Pilha.js) | [Pascal](./src/pascal/pilha.pas) | [Swift](./src/swift/pilha.swift) | [Rust](./src/rust/pilha.rs) | -| Pilha Ligada Dinâmica | [C/C++](./src/c/PilhaLigadaDinamica.c) | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | +| Estruturas de Dados | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | +| -------------------------------- | ------------ | ------------------------------------------ | ------------------------------------------------ | ---------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------ | ---------------------------------------------------- | ------------------------------------------ | -------------------------------------------- | ---------------------------------------------- | +| [Árvore Binária][4] | [C](./src/c/ArvoreBinaria.c) | C++ | Java | [Python](./src/python/binary_tree.py) | Go | Ruby | JS | Pascal | Swift | Rust | +| [Árvore Binária de Busca][3] | [C](./src/c/ArvoreBinariaDeBusca.c) | C++ | [Java](./src/java/ArvoreDeBuscaBinaria.java) | [Python](./src/python/arvore_binaria_de_busca.py) | Go | Ruby | [JS](./src/javascript/ArvoreDeBuscaBinaria.js) | Pascal | Swift | Rust | +| [Deque][54] | C | C++ | Java | Python | Go | Ruby | [JS](./src/javascript/Deque.js) | Pascal | [Swift](./src/swift/deque.swift) | [Rust](./src/rust/deque.rs) | +| [Fila][18] | [C](./src/c/Fila.c) | C++ | [Java](./src/java/Fila.java) | [Python](./src/python/fila.py) | Go | [Ruby](./src/ruby/Fila.rb) | [JS](./src/javascript/Fila.js) | Pascal | [Swift](./src/swift/fila.swift) | [Rust](./src/rust/fila.rs) | +| [Fila Encadeada Dinâmica][19] | [C](./src/c/FilaEncadeadaDinamica.c) | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | +| [Grafo][20] | [C](./src/c/Grafos.c) | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | +| [Lista Circular Ligada][52] | [C](./src/c/ListaCircularLigada.c) | C++ | Java | [Python](./src/python/lista_encadeada_circular.py) | Go | Ruby | JS | Pascal | Swift | Rust | +| [Lista Encadeada][22] | C | C++ | Java | [Python](./src/python/lista_encadeada.py) | Go | [Ruby](./src/ruby/Lista_encadeada.rb) | [JS](./src/javascript/ListaSimplesmenteEncadeada.js) | Pascal | Swift | [Rust](./src/rust/linked_list.rs) | +| [Lista Duplamente Encadeada][23] | [C](./src/c/ListaDuplamenteEncadeada.c) | C++ | [Java](./src/java/ListaDuplamenteEncadeada.java) | [Python](./src/python/lista_duplamente_encadeada.py) | Go | [Ruby](./src/ruby/Lista_duplamente_encadeada.rb) | [JS](./src/javascript/ListaDuplamenteEncadeada.js) | Pascal | Swift | Rust | +| [Lista Ligada Não Ordenada][24] | [C](./src/c/ListaLigadaNaoOrdenada.c) | C++ | Java | Python | [Go](src/go/listasequencialnaoordenada/listaSequencialNaoOrdenada.go) | Ruby | JS | Pascal | Swift | Rust | +| Lista Sequencial Ordenada | [C](./src/c/ListaSequencialOrdenada.c) | C++ | Java | [Python](./src/python/lista_sequencial_ordenada.py) | [Go](src/go/listasequencialordenada/listaSequencialOrdenada.go) | Ruby | JS | Pascal | Swift | Rust | +| [Pilha][31] | [C](./src/c/Pilha.c) | C++ | [Java](./src/java/Pilha.java) | [Python](./src/python/pilha.py) | Go | [Ruby](./src/ruby/Pilha.rb) | [JS](./src/javascript/Pilha.js) | [Pascal](./src/pascal/pilha.pas) | [Swift](./src/swift/pilha.swift) | [Rust](./src/rust/pilha.rs) | +| Pilha Ligada Dinâmica | [C](./src/c/PilhaLigadaDinamica.c) | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | -| Algoritmos de Ordenação | C/C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | -| -------------------------------- | ------------------------------------------- | ------------------------------------------------ | ------------------------------------------------------ | --------------------------------------------------------------------- | ------------------------------------------------ | ---------------------------------------------------- | ------------------------------------------ | -------------------------------------------- | ---------------------------------------------- | -| [Bogo Sort][34] | C/C++ | [Java](./src/java/BogoSort.java) | Python | Go | Ruby | JS | Pascal | Swift | Rust | -| [Bubble Sort][35] | [C/C++](./src/c/BubbleSort.cpp) | [Java](./src/java/BubbleSort.java) | [Python](./src/python/bubble_sort.py) | [Go](./src/go/bubbleSort/bubbleSort.go) | [Ruby](./src/ruby/bubble_sort.rb) | [JS](./src/javascript/BurbbleSort.js) | [Pascal](./src/pascal/bubble-sort.pas) | Swift | [Rust](./src/rust/bubble_sort.rs) | -| [Bucket Sort][36] | C/C++ | [Java](./src/java/BucketSort.java) | Python | Go | [Ruby](./src/ruby/bucket_sort.rb) | JS | Pascal | Swift | Rust | -| [Cocktail Sort][37] | C/C++ | Java | Python | [Go](./src/go/cocktailsort/cocktailsort.go) | Ruby | JS | Pascal | Swift | Rust | -| [Comb Sort][38] | C/C++ | Java | Python | [Go](./src/go/combsort/combsort.go) | Ruby | [JS](./src/javascript/CombSort.js) | Pascal | Swift | Rust | -| [Counting Sort][39] | C/C++ | Java | Python | [Go](./src/go/countingsort/countingsort.go) | [Ruby](./src/ruby/count_sort.rb) | JS | Pascal | Swift | Rust | -| [Gnome Sort][40] | C/C++ | Java | Python | [Go](./src/go/gnomesort/gnomesort.go) | Ruby | JS | Pascal | Swift | [Rust](./src/rust/gnomesort.rs) | -| [Heapsort][41] | C/C++ | [Java](./src/java/HeapSort.java) | Python | [Go](./src/go/heapsort/heapsort.go) | [Ruby](./src/ruby/heap_sort.rb) | [JS](./src/javascript/HeapSort.js) | [Pascal](./src/pascal/heapsort.pas) | Swift | Rust | -| [Insertion Sort][42] | [C/C++](./src/c/InsertionSort.cpp) | [Java](./src/java/InsertionSort.java) | [Python](./src/python/insertion_sort.py) | [Go](./src/go/insertionsort/insertionsort.go) | [Ruby](./src/ruby/insertion_sort.rb) | [JS](./src/javascript/InsertionSort.js) | Pascal | [Swift](./src/swift/insertionSort.swift) | [Rust](./src/rust/insertion_sort.rs) | -| [Merge Sort][44] | [C/C++](./src/c/MergeSort.c) | [Java](./src/java/Mergesort.java) | Python | [Go](./src/go/mergesort/mergesort.go) | [Ruby](./src/ruby/merge_sort.rb) | [JS](./src/javascript/MergeSort.js) | [Pascal](./src/pascal/mergesort.pas) | Swift | Rust | -| [Quicksort][45] | [C/C++](./src/c/QuickSort.cpp) | [Java](./src/java/Quicksort.java) | [Python](./src/python/quick_sort.py) | [Go](./src/go/quicksort/quicksort.go) | [Ruby](./src/ruby/quick_sort.rb) | [JS](./src/javascript/QuickSort.js) | Pascal | Swift | Rust | -| [Radix Sort][46] | C/C++ | [Java](./src/java/RadixSort.java) | Python | [Go](./src/go/radixsort/radixsort.go) | [Ruby](./src/ruby/radix_sort.rb) | [JS](./src/javascript/RadixSort.js) | Pascal | Swift | Rust | -| [Selection Sort][47] | [C/C++](./src/c/SelectionSort.cpp) | [Java](./src/java/SelectionSort.java) | [Python](./src/python/selection_sort.py) | [Go](./src/go/selectionsort/selectionsort.go) | [Ruby](./src/ruby/selection_sort.rb) | [JS](./src/javascript/SelectionSort.js) | [Pascal](./src/pascal/selectsort.pas) | Swift | Rust | -| [Shell Sort][48] | C/C++ | [Java](./src/java/ShellSort.java) | [Python](./src/python/shell_sort.py) | [Go](./src/go/shellsort/shellsort.go) | Ruby | [JS](./src/javascript/ShellSort.js) | Pascal | Swift | Rust | -| [Timsort][53] | C/C++ | Java | [Python](./src/python/tim_sort.py) | Go | Ruby | JS | Pascal | Swift | Rust | +| Algoritmos de Ordenação | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | +| -------------------------------- | ------------ | ---------------------------------------- | ------------------------------------------------ | ------------------------------------------------------ | --------------------------------------------------------------------- | ------------------------------------------------ | ---------------------------------------------------- | ------------------------------------------ | -------------------------------------------- | ---------------------------------------------- | +| [Bogo Sort][34] | C | C++ | [Java](./src/java/BogoSort.java) | Python | Go | Ruby | JS | Pascal | Swift | Rust | +| [Bubble Sort][35] | C | [C++](./src/cpp/BubbleSort.cpp) | [Java](./src/java/BubbleSort.java) | [Python](./src/python/bubble_sort.py) | [Go](./src/go/bubbleSort/bubbleSort.go) | [Ruby](./src/ruby/bubble_sort.rb) | [JS](./src/javascript/BurbbleSort.js) | [Pascal](./src/pascal/bubble-sort.pas) | Swift | [Rust](./src/rust/bubble_sort.rs) | +| [Bucket Sort][36] | C | C++ | [Java](./src/java/BucketSort.java) | Python | Go | [Ruby](./src/ruby/bucket_sort.rb) | JS | Pascal | Swift | Rust | +| [Cocktail Sort][37] | C | C++ | Java | Python | [Go](./src/go/cocktailsort/cocktailsort.go) | Ruby | JS | Pascal | Swift | Rust | +| [Comb Sort][38] | C | C++ | Java | Python | [Go](./src/go/combsort/combsort.go) | Ruby | [JS](./src/javascript/CombSort.js) | Pascal | Swift | Rust | +| [Counting Sort][39] | C | C++ | Java | Python | [Go](./src/go/countingsort/countingsort.go) | [Ruby](./src/ruby/count_sort.rb) | JS | Pascal | Swift | Rust | +| [Gnome Sort][40] | C | C++ | Java | Python | [Go](./src/go/gnomesort/gnomesort.go) | Ruby | JS | Pascal | Swift | [Rust](./src/rust/gnomesort.rs) | +| [Heapsort][41] | C | C++ | [Java](./src/java/HeapSort.java) | Python | [Go](./src/go/heapsort/heapsort.go) | [Ruby](./src/ruby/heap_sort.rb) | [JS](./src/javascript/HeapSort.js) | [Pascal](./src/pascal/heapsort.pas) | Swift | Rust | +| [Insertion Sort][42] | C | [C++](./src/cpp/InsertionSort.cpp) | [Java](./src/java/InsertionSort.java) | [Python](./src/python/insertion_sort.py) | [Go](./src/go/insertionsort/insertionsort.go) | [Ruby](./src/ruby/insertion_sort.rb) | [JS](./src/javascript/InsertionSort.js) | Pascal | [Swift](./src/swift/insertionSort.swift) | [Rust](./src/rust/insertion_sort.rs) | +| [Merge Sort][44] | [C](./src/c/MergeSort.c) | C++ | [Java](./src/java/Mergesort.java) | Python | [Go](./src/go/mergesort/mergesort.go) | [Ruby](./src/ruby/merge_sort.rb) | [JS](./src/javascript/MergeSort.js) | [Pascal](./src/pascal/mergesort.pas) | Swift | Rust | +| [Quicksort][45] | C | [C++](./src/cpp/QuickSort.cpp) | [Java](./src/java/Quicksort.java) | [Python](./src/python/quick_sort.py) | [Go](./src/go/quicksort/quicksort.go) | [Ruby](./src/ruby/quick_sort.rb) | [JS](./src/javascript/QuickSort.js) | Pascal | Swift | Rust | +| [Radix Sort][46] | C | C++ | [Java](./src/java/RadixSort.java) | Python | [Go](./src/go/radixsort/radixsort.go) | [Ruby](./src/ruby/radix_sort.rb) | [JS](./src/javascript/RadixSort.js) | Pascal | Swift | Rust | +| [Selection Sort][47] | C | [C++](./src/cpp/SelectionSort.cpp) | [Java](./src/java/SelectionSort.java) | [Python](./src/python/selection_sort.py) | [Go](./src/go/selectionsort/selectionsort.go) | [Ruby](./src/ruby/selection_sort.rb) | [JS](./src/javascript/SelectionSort.js) | [Pascal](./src/pascal/selectsort.pas) | Swift | Rust | +| [Shell Sort][48] | C | C++ | [Java](./src/java/ShellSort.java) | [Python](./src/python/shell_sort.py) | [Go](./src/go/shellsort/shellsort.go) | Ruby | [JS](./src/javascript/ShellSort.js) | Pascal | Swift | Rust | +| [Timsort][53] | C | C++ | Java | [Python](./src/python/tim_sort.py) | Go | Ruby | JS | Pascal | Swift | Rust | -| Extras | C/C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | -| -------------------------------- | ------------------------------------------- | ------------------------------------------------ | ------------------------------------------------------ | --------------------------------------------------------------------- | ------------------------------------------------ | ---------------------------------------------------- | ------------------------------------------ | -------------------------------------------- | ---------------------------------------------- | -| Lista com 2 Pilhas | C/C++ | Java | [Python](./src/python/lista_com_pilhas.py) | Go | Ruby | JS | Pascal | Swift | Rust | -| Soma de 2 Números | C/C++ | Java | [Python](./src/python/soma_dois_numeros.py) | Go | Ruby | JS | Pascal | Swift | Rust | -| [Palíndromo][49] | [C/C++](./src/c/Palindromo.c) | Java | [Python](./src/python/palindromo.py) | Go | [Ruby](./src/ruby/Palindromo.rb) | [JS](./src/javascript/Palindromo.js) | Pascal | [Swift](./src/swift/palindromo.swift) | [Rust](./src/rust/palindromo.rs) | -| Lista Ligada Desordenada | C/C++ | Java | [Python](./src/python/lista_encadeada_desordenada.py) | Go | Ruby | JS | Pascal | Swift | Rust | -| [Calculo do PI (Leibniz)][50] | [C/C++](./src/c/CalculatePi.c) | Java | [Python](./src/python/calculate_pi.py) | [Go](./src/go/calculatepi/calculatepi.go) | Ruby | [JS](./src/javascript/calculate_pi.js) | Pascal | [Swift](./src/swift/calculatePi.swift) | [Rust](./src/rust/calculate_pi.rs) | -| Busca em Labirinto | C/C++ | Java | [Python](./src/python/busca_em_labirinto.py) | Go | Ruby | JS | Pascal | Swift | Rust | +| Extras | C | C++ | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust | +| -------------------------------- | ------- | ---------------------------------------- | ------------------------------------------------ | ------------------------------------------------------ | --------------------------------------------------------------------- | ------------------------------------------------ | ---------------------------------------------------- | ------------------------------------------ | -------------------------------------------- | ---------------------------------------------- | +| Lista com 2 Pilhas | C | C++ | Java | [Python](./src/python/lista_com_pilhas.py) | Go | Ruby | JS | Pascal | Swift | Rust | +| Soma de 2 Números | C | C++ | Java | [Python](./src/python/soma_dois_numeros.py) | Go | Ruby | JS | Pascal | Swift | Rust | +| [Palíndromo][49] | [C](./src/c/Palindromo.c) | C++ | Java | [Python](./src/python/palindromo.py) | Go | [Ruby](./src/ruby/Palindromo.rb) | [JS](./src/javascript/Palindromo.js) | Pascal | [Swift](./src/swift/palindromo.swift) | [Rust](./src/rust/palindromo.rs) | +| Lista Ligada Desordenada | C | C++ | Java | [Python](./src/python/lista_encadeada_desordenada.py) | Go | Ruby | JS | Pascal | Swift | Rust | +| [Calculo do PI (Leibniz)][50] | [C](./src/c/CalculatePi.c) | C++ | Java | [Python](./src/python/calculate_pi.py) | [Go](./src/go/calculatepi/calculatepi.go) | Ruby | [JS](./src/javascript/calculate_pi.js) | Pascal | [Swift](./src/swift/calculatePi.swift) | [Rust](./src/rust/calculate_pi.rs) | +| Busca em Labirinto | C | C++ | Java | [Python](./src/python/busca_em_labirinto.py) | Go | Ruby | JS | Pascal | Swift | Rust | ## :ferris_wheel: Playgrounds diff --git a/src/c/BinarySearch.cpp b/src/cpp/BinarySearch.cpp similarity index 100% rename from src/c/BinarySearch.cpp rename to src/cpp/BinarySearch.cpp diff --git a/src/c/BubbleSort.cpp b/src/cpp/BubbleSort.cpp similarity index 100% rename from src/c/BubbleSort.cpp rename to src/cpp/BubbleSort.cpp diff --git a/src/c/Fibonacci.cpp b/src/cpp/Fibonacci.cpp similarity index 100% rename from src/c/Fibonacci.cpp rename to src/cpp/Fibonacci.cpp diff --git a/src/c/InsertionSort.cpp b/src/cpp/InsertionSort.cpp similarity index 100% rename from src/c/InsertionSort.cpp rename to src/cpp/InsertionSort.cpp diff --git a/src/c/Interpolation_search.cpp b/src/cpp/Interpolation_search.cpp similarity index 100% rename from src/c/Interpolation_search.cpp rename to src/cpp/Interpolation_search.cpp diff --git a/src/c/QuickSort.cpp b/src/cpp/QuickSort.cpp similarity index 100% rename from src/c/QuickSort.cpp rename to src/cpp/QuickSort.cpp diff --git a/src/c/SelectionSort.cpp b/src/cpp/SelectionSort.cpp similarity index 100% rename from src/c/SelectionSort.cpp rename to src/cpp/SelectionSort.cpp