Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Arrays;
- public class Merge {
- public static void main(String[] args) {
- int []vet = {5,3,1,9,7,2,4,5,8,3,0};
- int []aux = new int[vet.length];
- sort(vet, aux, 0, vet.length -1);
- System.out.println(Arrays.toString(vet));
- }
- private static void sort(int []vet, int []aux, int ini, int fim) {
- if (ini < fim){
- int meio = (ini + fim) / 2;
- sort(vet, aux, ini, meio);
- sort(vet, aux, meio + 1, fim);
- merge(vet, aux, ini, meio, fim);
- }
- }
- private static void merge(int []vet, int []aux, int ini, int meio, int fim) {
- for (int k = 0; k < aux.length; k++) {
- aux[k] = vet[k];
- }
- int i = ini;
- int j = meio + 1;
- for (int k = ini; k <= fim; k++) {
- if (i > meio) vet[k] = aux[j++];
- else if (j > fim) vet[k] = aux[i++];
- else if (aux[i] < aux[j]) vet[k] = aux[i++];
- else vet[k] = aux[j++];
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement