E aí pessoal,
estou estudando listas, pilhas , etc…
fiz uma classe Stack… em um dos exercicios que estou fazendo pede o número de elementos da pilha através, implementando a alocação dinâmica de memória.
Eu usei o seguinte padrão:
publicclassStack{Listl;privateintn;// construct stackpublicStack(){l=newList("stack");}// add object to stackpublicvoidpush(Objectobject){l.insertAtFront(object);}// remove object from stackpublicObjectpop()throwsEmptyListException{returnl.removeFromFront();}// determine whether list is emptypublicvoidprint(){l.print();}//tamanho da pilhapublicintsize(){returnn;}// output List contentspublicbooleanisEmpty(){returnl.isEmpty();}}// end class Stack
creio que meu método size não esteja fazendo alocação de memória
Nao entendi mto como funciona esse processo, alguém dá uma luz?
Desculpe a ignorância .com, mas vamos lá:
[list]Sua classe compila? Pois você está tentando instanciar a interface List![/list]
[list]Eu não achei a classe EmptyListException na documentação Java.[/list]
[list]Também não achei os métodos removeFromFront(), insertAtFront() e print() da interface List nos Docs.[/list]
Então, você pode utilizar algo que já existe que é java.util.Stack. Procure na documentação que isto já está pronto!
Não sei exatamente o que você não entendeu mas um ótimo material para aprender o básico, e mais um pouco, em Java é a apostila FJ-11 da Caelum.
Espero ter ajudado de alguma forma!
fernandosavio
wellington.nogueira:
Tenho quase certeza que List é uma classe que ele já implementou
E acho que é um exercício de algorítmos, logo, a classe pronta nõa deve ajudá-lo hehe.
Wellington, List é uma interface e não pode ser instanciada. Aqui está a prova!
E você tem toda a razão, COM CERTEZA não deixariam ele usar uma API pronta…
Mas não é impossível fazer na mão, eu já fiz um trabalho de Métodos de Pesquisa e Ordenação em Java na mão.
Primeiro ele precisa definir a estrutura que ele quer fazer, depois criar uma classe que represente essa estrutura. Ex.:
publicclassEstrutura{
intconteudo;Estruturaant; //Referencia a outro objeto EstruturaEstruturaprox; //se comportando semelhante aos ponteiros do C
}
Depois é só criar a classe que vai manipular os dados, e cada célula de uma lista encadeada é uma instância de Estrutura…
Acho que agora ficou melhor de entender não é?
fernandosavio
Bom…
Esse argumento me ganhou!
auhehuaeeahue…
Mas se tratando de Collections, List é uma interface! Isso sim eu posso garantir!
hehehehe
WellingtonRamos
fernandosavio:
Desculpe a ignorância .com, mas vamos lá:
[list]Sua classe compila? Pois você está tentando instanciar a interface List![/list]
[list]Eu não achei a classe EmptyListException na documentação Java.[/list]
[list]Também não achei os métodos removeFromFront(), insertAtFront() e print() da interface List nos Docs.[/list]
Então, você pode utilizar algo que já existe que é java.util.Stack. Procure na documentação que isto já está pronto!
Não sei exatamente o que você não entendeu mas um ótimo material para aprender o básico, e mais um pouco, em Java é a apostila FJ-11 da Caelum.
Espero ter ajudado de alguma forma!
Tenho quase certeza que List é uma classe que ele já implementou
E acho que é um exercício de algorítmos, logo, a classe pronta nõa deve ajudá-lo hehe.
fiz uma classe Stack… em um dos exercicios que estou fazendo pede o número de elementos da pilha através, implementando a alocação dinâmica de memória.
creio que meu método size não esteja fazendo alocação de memória
Nao entendi mto como funciona esse processo, alguém dá uma luz?
Algum material bom na net já serve.
[/quote]
Não seria só retornar o tamanho da tua lista?
Se da tua lista não tem como obter o size, você deve incrementar n a cada adição e decrementar a cada remoção.
Quando o exercício diz que é por alocação dinâmica, significa que tua pilha não deve ter um tamanho máximo definido (comum ao usar array).
WellingtonRamos
fernandosavio:
wellington.nogueira:
Tenho quase certeza que List é uma classe que ele já implementou
E acho que é um exercício de algorítmos, logo, a classe pronta nõa deve ajudá-lo hehe.
Wellington, List é uma interface e não pode ser instanciada. Aqui está a prova!
Tem certeza? hehehe…
E se ele fez, por exemplo:
package br.com.estruturadedados;
public class List extends ArrayList {
//coloque aqui os métodos personalizados
}
Sem ver os imports, não pode-se afirmar nem uma coisa, nem outra