Dúvida no código de ordenação de vetores

9 respostas
java
P

Tenho o seguinte código em java para ordenação de vetores :

public class Teste1 {

  public static void main (String[] args)
  {
    int Vetor[] = {1,7,5,9,8};
    int aux ;
    for (int a=0;a<Vetor.length;a++){
      	 for (int b=0; b< Vetor.length;b++){
          if (Vetor[a] < Vetor[b]){
            aux = Vetor[a];
            Vetor[a] = Vetor[b];
           	Vetor [b] = aux;
          }
        }
    }
    for (int i = 0; i < Vetor.length; i++){
        System.out.println (Vetor[i]);
    }
   } 

}

porém não entendi o que ocorre na parte :

//for (int a=0;a<Vetor.length;a++){
for (int b=0; b< Vetor.length;b++){
    if (Vetor[a] < Vetor[b]){
      aux = Vetor[a];
      Vetor[a] = Vetor[b];
   	  Vetor [b] = aux; //

para o que serve o aux e como funciona essa comparação de vetores?

9 Respostas

O

a auxiliar pega a variavel que esta no vetor da posição A;

o que está na posição B vai para a posição A

o que está na auxiliar vai para a posição B

O

Isso é uma ordenação onde ele compara o primeiro valor do vetor com os valores restantes, se existir um valor menor que esse, então o valor é reposicionado para a posição do que se esta comparado, e isso se repete com todas as posições dos vetores, sempre se comparando com as posições seguintes!

Se quiser saber outros tipos de ordenação

P

Muito obrigado!

D

https://pt.wikipedia.org/wiki/Bubble_sort esse é a técnica que você está usando nesse código, é meio custoso se for empregado em situação onde o vetor é muito grande…

O

@Dragoon é? para mim o Bubble era diferente… Mas ok! Já faz um tempo que não estudo isso kk, obrigado pelo lembrete

D

Como assim diferente? e por que um é? sarcástico … !
E você não acha que é Bolha então qual é?

Explicação do bolha ou Bubble:

O bubble sort, ou ordenação por flutuação (literalmente “por bolha”), é um algoritmo de ordenação dos mais simples. A ideia é percorrer o vector diversas vezes, e a cada passagem fazer flutuar para o topo o maior elemento da sequência. Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo.

No melhor caso, o algoritmo executa {\displaystyle n} n operações relevantes, onde {\displaystyle n} n representa o número de elementos do vector. No pior caso, são feitas {\displaystyle n^{2}} n^2 operações. A complexidade desse algoritmo é de ordem quadrática. Por isso, ele não é recomendado para programas que precisem de velocidade e operem com quantidade elevada de dados.

O

o Bubble normalmente percorre o vetor de forma decrescente, achei que isso deveria ser uma regra…

D

Mediante a pergunta e o seu código pude constatar que é trabalho de faculdade ou curso e o método de ordenação o Bolha, quis informar a pessoa que isso é uma técnica de ordenação aonde o primeiro elemento é comparado com todo os outros até satisfazer uma condição de ordenação e assim por diante…

A sua justificativa pode ser visto para ordenar do maior para o menor ( e isso pode acontecer ), mas, um for dentro do outro varrendo o mesmo vetor e ordenar números é um Bubble Sort mesmo sendo colocado a sua justificativa que como disse pode ocorrer porque o vetor pode ser ordenado das duas formas (maior para menor e vice-versa) .

O

Obrigado :3

Criado 10 de agosto de 2018
Ultima resposta 10 de ago. de 2018
Respostas 9
Participantes 3