Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
name: Java CI


on: [push, pull_request]

jobs:
Expand All @@ -18,4 +17,4 @@ jobs:
- run: java src/algoritmos/RadixSort.java
- run: java src/algoritmos/BubbleSort.java
- run: java src/algoritmos/MergeSort.java
- run: java src/algoritmos/SelectionSort.java
- run: java src/algoritmos/SelectionSort.java
68 changes: 32 additions & 36 deletions src/algoritmos/BubbleSort.java
Original file line number Diff line number Diff line change
@@ -1,40 +1,36 @@
package algoritmos;

import java.io.IOException;

public class BubbleSort {

public static void main(String[] args) throws IOException {
int quantidade = 10000;
int[] vetor = new int[quantidade];

System.out.println("Vetor desordenado: ");
for (int i = 0; i < vetor.length; i++) {
vetor[i] = (int) (Math.random() * quantidade);
System.out.print(i + " ");
}

bubbleSort(vetor);

System.out.println("\nVetor ordenado: ");
for (int i : vetor) {
System.out.print(i + " ");
}
}

private static void bubbleSort(int vetor[]) {
boolean troca = true;
int aux;
while (troca) {
troca = false;
for (int i = 0; i < vetor.length - 1; i++) {
if (vetor[i] > vetor[i + 1]) {
aux = vetor[i];
vetor[i] = vetor[i + 1];
vetor[i + 1] = aux;
troca = true;
}
}
}
}
}
public class BubbleSort {
public static void main(String args[]) {
int[] v = {5, 2, 4, 3, 0, 9, 7, 8, 1, 6};
BubbleSort bs = new BubbleSort();
bs.ordenar(v);
for(int num : v) {
System.out.print(num + " ");
}
}

/**
* Método que ordena um vetor de inteiros utilizando o algoritmo
* de Bubble Sort.
*
* @param v - Vetor que será ordenado.
*/
public void ordenar(int[] v) {
// for utilizado para controlar a quantidade de vezes que o vetor será ordenado.
for(int i = 0; i < v.length - 1; i++) {
// for utilizado para ordenar o vetor.
for(int j = 0; j < v.length - 1 - i; j++) {
/* Se o valor da posição atual do vetor for maior que o proximo valor,
então troca os valores de lugar no vetor. */
if(v[j] > v[j + 1]) {
int aux = v[j];
v[j] = v[j + 1];
v[j + 1] = aux;
}
}
}
}
}
33 changes: 33 additions & 0 deletions src/algoritmos/Bubblesort.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package algoritmos;


public class Quicksort {

public static void main(String[] args) throws IOException {
int quantidade = 10000;
int[] vetor = new int[quantidade];

System.out.println("Vetor desordenado: ");
for (int i = 0; i < vetor.length; i++) {
vetor[i] = (int) (Math.random() * quantidade);
System.out.print(i + " ");
}
bubbleSort(vetor);
System.out.println("\nVetor ordenado: ");
for (int i : vetor) {
System.out.print(i + " ");
}
}

private static void bubbleSort(int[] arr) {
for(int i = 0; i < arr.length - 1; i ++){
for(int j = 0; j < arr.length - 1 ;j++){
if(arr[j] > arr[j+1]){
int swap = arr[j]; // place the bigger number to swap
arr[j] = arr[j+1]; // place the smaller number
arr[j+1] = swap;
}
}
}
}
}
6 changes: 4 additions & 2 deletions src/algoritmos/MergeSort.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import java.io.IOException;

public class Mergesort {
public class MergeSort {

public static void main(String[] args) throws IOException {
int quantidade = 10000;
Expand Down Expand Up @@ -45,7 +45,9 @@ private static void mergeSort(int[] a, int n) {
private static void merge(
int[] a, int[] l, int[] r, int left, int right) {

int i = 0, j = 0, k = 0;
int i = 0;
int j = 0;
int k = 0;
while (i < left && j < right) {
if (l[i] <= r[j]) {
a[k++] = l[i++];
Expand Down
3 changes: 2 additions & 1 deletion src/algoritmos/Quicksort.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ private static void quickSort(int[] vetor, int inicio, int fim) {

private static int posicaoPivor(int[] vetor, int inicio, int fim) {
int pivo = vetor[inicio];
int i = inicio + 1, f = fim;
int i = inicio + 1;
int f = fim;
while (i <= f) {
if (vetor[i] <= pivo)
i++;
Expand Down
2 changes: 1 addition & 1 deletion src/algoritmos/SelectionSort.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package algoritmos;

import java.io.IOException;


public class SelectionSort {

Expand Down
38 changes: 38 additions & 0 deletions src/algoritmos/SelectionSortExample.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package algoritmos;

public class SelectionSortExample {

public static void main(String a[]){
int quantidade = 10000;
int[] arr1 = new int[quantidade];

System.out.println("Before Selection Sort");
for (int i = 0; i < arr1.length; i++) {
arr1[i] = (int) (Math.random() * quantidade);
System.out.print(arr1[i]+" ");
}
System.out.println();

selectionSort(arr1);//sorting array using selection sort

System.out.println("After Selection Sort");
for (int i = 0; i < arr1.length; i++) {
System.out.print(arr1[i]+" ");
}
}

public static void selectionSort(int[] arr){
for (int i = 0; i < arr.length - 1; i++)
{
int index = i;
for (int j = i + 1; j < arr.length; j++){
if (arr[j] < arr[index]){
index = j;//searching for lowest index
}
}
int smallerNumber = arr[index];
arr[index] = arr[i];
arr[i] = smallerNumber;
}
}
}
47 changes: 47 additions & 0 deletions src/exemplos/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package exemplos;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class Main {

public static void main(String[] args) {
// TODO Auto-generated method stub
f(10);
readFile("");
validarString("omnilink");
}

public static long f(int n) {
if (n < 2) {
return n;
} else {
return f(n - 1) + f(n - 2);
}
}

public static String readFile(String fileName){
BufferedReader br;
try {
br = new BufferedReader(new FileReader(fileName));
final StringBuilder sb = new StringBuilder();
String line = br.readLine();

while (line != null) {
sb.append(line);
sb.append(System.lineSeparator());
line = br.readLine();
}
br.close();
return sb.toString();
} catch (IOException e) {
e.printStackTrace();
}
return "";
}

public static boolean validarString(String entrada) {
return entrada != null && !entrada.equals("") && entrada.length() > 3;
}
}