Como continuar a main para lista ordenada

5 respostas
A

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.

5 Respostas

Roger75
public class Testador{
  public static void main(String args[]){
     Lista lista=new Lista(50);
     
  }

}

Assim?

A

bom está parte eu entendi mas como eu faço para adicionar os valores utilizando o metodo inserir e o metodo remover?

ignacio83
public class Testador{   
  public static void main(String args[]){   
     Lista lista=new Lista(50);   
     lista.Insere(2);
  }   
}
rodpuc

apesar de n ter a ver com sua dúvida, acho importante lembrar que nomes de métodos começam com letra minúscula. E sugiro que substitua “Insere” por “inserir”.

A

agora eu entendi… obrigado a todos e pela dica

Criado 15 de abril de 2009
Ultima resposta 16 de abr. de 2009
Respostas 5
Participantes 4