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
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
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
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
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 < up) {
while (raiz[down].getid() <= a.getid() && down < mb) {
down++;
}
while (raiz[up].getid() > a.getid()) {
up--;
}
if (down < up) {
temp = raiz[down];
raiz[down] = raiz[up];
raiz[up] = temp;
}
}
raiz[lb] = raiz[up];
raiz[up] = a;
return up;
}
}