Bom estou começando a aprender lista ordenada o código para implementa-la eu já consegui fazer só me falta fazer a main
não sei bom como fazer, como chamar o construtor para criar o vetor e para então usar os metódos para adicionar e remover valores…se alguem puder me ajuda
Código do class Lista
public class Lista {
No vet[]; // Vetor do tipo class No ( Info/prox )
int livre, cabeça, tam;
Lista(int tam){ //Costrutor
this.tam = tam;
vet = new No[tam];
for(int i=0 ; i<tam; i++ ){
vet[i] = new No();
vet[i].prox = i+1;
}
//Inicialização das variáveis
cabeça =-1;
livre =0;
vet[tam-1].prox = -1; //O ultimo valor de prox na lista ligada recebe "-1"
}
void Insere(int elemento){ // Insere elemento alfanumerico em ondem alfabética
int aux,ant,atual;
if(livre == -1){
cabeça = livre;
vet[cabeça].info = elemento;
livre = vet[livre].prox;
vet[cabeça].prox=-1;
}else{
aux = cabeça;
ant = -1;
while(aux != -1 && vet[aux].info<elemento){
ant = aux;
aux = vet[aux].prox;
}
atual = livre;
livre = vet[livre].prox;
vet[atual].info = elemento;
if(ant == -1){
vet[atual].prox = cabeça;
cabeça = atual;
}else{
vet[ant].prox = atual;
}
vet[atual].prox = aux;
}
}
void Remover(int elemento){
int aux,ant;
aux = cabeça;
ant = -1;
while(aux != -1 && vet[aux].info != elemento){
ant = aux;
aux = vet[aux].prox;
}
if(aux == -1)System.out.println("LEtra não encontrada");
else{
elemento = vet[aux].info;
if(ant == -1 )cabeça = vet[aux].prox;
else vet[aux].prox = vet[aux].prox;
}
vet[aux].prox = livre;
livre = aux;
}
}
a class No eu não axei necessário colocar aqui.
obrigado a todos que lerem o topico, podendo ou não me ajudar.