Metodo iINSERÇÃO E QUICKSORT

3 respostas
D

GALERA, TO PRECISANDO FAZE UM BARATO…

PRECISO IMPLENTA O METODO INSERÇÃO E QUICKSORT PARA ORDENAR TABELAS IMPLEMENTADAS NA FORMA DE VETOR!!

ALGUEM VIU ALGO PARECIDO?? MANJA COMO FAZ??

AGUARDO RESPOSTAS.
OBRIGADO
Danilo

3 Respostas

M

danilo_c,

vc vai fazer seu próprio jtablemodel e quer gravar as informações em um vetor ?
Ou qual seria a sua idéia.

Abraço,
Maicon

D

Para ordenar com o quicksort vc pode usar o metodo

Arrays.sort();

ele eh estatico. E caso seja um objeto q queria ordenar ele deve implementar a interface Comparable

D

uhm…tipo consegui algo que acho q é o que preciso !! hehehe

public class Tabela {

private int totalregistros;

private int maximoregistros;

private int indice;

private Registro raiz[];

private boolean ordenada;
public Tabela(int a) {

totalregistros = 0;

indice = 0;

maximoregistros = a;

raiz = new Registro[a];

ordenada = false;

}
public boolean getvazia() {

return totalregistros == 0;

}
public int gettotalregistros() {

return totalregistros;

}
public int getindice() {

return indice;

}
public void setindice(int a) {

indice = a;

}
public boolean getfli() {

return indice < 0;

}
public boolean getfls() {

return indice > totalregistros - 1;

}

public void inserir(Registro a) {
if (totalregistros > maximoregistros) {

}
  else {
     raiz[totalregistros] = a;
     totalregistros++;
     ordenada = false;
  }

}

public void quicksort(int lb, int mb) {

int j;

if (lb < mb) {

j = particiona(lb, mb);

quicksort(lb, j - 1);

quicksort(j + 1, mb);

ordenada = true;

}

}
private int particiona(int lb, int mb) {
  int down, up;
  Registro a, temp;
  a = new Registro();
  temp = new Registro();
  a = raiz[lb];
  up = mb;
  down = lb;
  while (down &lt; up) {
     while (raiz[down].getid() &lt;= a.getid() &amp;&amp; down &lt; mb) {
        down++;
     }
     while (raiz[up].getid() &gt; a.getid()) {
        up--;
     }
     if (down &lt; up) {
        temp = raiz[down];
        raiz[down] = raiz[up];
        raiz[up] = temp;
     }
  }
  raiz[lb] = raiz[up];
  raiz[up] = a;
  return up;

}

}

Criado 27 de outubro de 2004
Ultima resposta 28 de out. de 2004
Respostas 3
Participantes 3