Ir ao conteúdo
  • Cadastre-se

C Listas Sequenciais - ALguém me da uma ideia de como fazer?


Posts recomendados

Ooi gente!

Tenho um exercício para fazer e não sei como ou por onde começar 😕
Poderiam me dar uma ideia?

 

Implementar o TAD Lista (de Produtos) com as seguintes operações: criar, inserir e remover um produto numa determinada posição, retornar um produto numa determinada posição, buscar um produto e encontrar a posição, imprimir a Lista.

Usando listas sequenciais (por contiguidade)

Link para o comentário
Compartilhar em outros sites

@Francine Guimarães Olá Francine, boa noite e seja bem vinda ao Fórum do Clube do Hardware.

 

Então o intuito do Fórum neste caso lhe auxiliar em possíveis dúvidas que você venha a ter para realizar esta atividade. Quais seriam suas dúvidas mais especificamente?

Link para o comentário
Compartilhar em outros sites

7 horas atrás, Francine Guimarães disse:

Implementar o TAD Lista (de Produtos) com as seguintes operações: criar, inserir e remover um produto numa determinada posição, retornar um produto numa determinada posição, buscar um produto e encontrar a posição, imprimir a Lista.

Usando listas sequenciais (por contiguidade)

 

Olá!

 

Não conheço essa nomenclatura. Você tem um livro texto? Qual é? Imagino que esteja falando de uma lista como estrutura de dados e uma lista sequencial por contiguidade seria um simples vetor com um elemento depois do outro na memória. Nesses últimos dias apareceram tópicos aqui envolvendo listas, encadeadas simples ou duplas, aquelas com ponteiros, e acho que eu até postei algumas soluções com código e saída. Pode pesquisar aqui pelo material que eu postei. Tem uma opção no forum. 

Agora se de fato precisa de uma lista sequencial é algo bem trivial. Apenas declare uma estrutura de um certo tamanho, já que o enunciado não fala em limites nem em alocação. Implemente primeiro a função que lista, depois a que insere. Não precisa sequer classificar os produtos porque não está no enunciado. E invente umas categorias de produto porque também não tem no enunciado.... Depois crie remover. Não estou certo da diferença entre inserir o primeiro e criar a lista porque o problema não parece exigir nada demais da lista...

Link para o comentário
Compartilhar em outros sites

@arfneto Olá!É um problema de estrutura de Dados. O objetivo do exercício é fazer uma lista por contiguidade, só que de uma forma dinâmica. Por exemplo, eu tenho uma lista com 20 posições e 10 posições dela estão preenchidas.

Se eu quiser colocar um produto na posição 0, eu teria que realocar todos os outros uma posição pra frente, e isto não seria vantajoso em termos de processamento.

Link para o comentário
Compartilhar em outros sites

6 minutos atrás, Francine Guimarães disse:

fazer uma lista por contiguidade, só que de uma forma dinâmica. Por exemplo, eu tenho uma lista com 20 posições e 10 posições dela estão preenchidas.

Se eu quiser colocar um produto na posição 0, eu teria que realocar todos os outros uma posição pra frente, e isto não seria vantajoso em termos de processamento

 

Muito bem. Como eu te disse, não sei o que é uma lista por contiguidade. TEm um livro-texto? Uma apostila? Uma definição?

 

Se isso é o que parece, uma simples lista de estruturas alocadas dinâmicamente e não uma lista ligada, a.k.a. linked list, você pode usar tags para indicar que uma posição no vetor está livre e assim usar ponteiros --- não ponteiros tido struct* --- apenas integers indicando onde está agora o real início de sua lista. 

 

Isso se usa por exemplo quando se tem um pool de conexões por exemplo, já alocadas para ganhar tempo, e no servidor a gente vai rotacionando as conexões para quem solicita. É muito rápido.

 

Pegue uma nota fiscal por exemplo e use para criar um registro de produto modelo e comece a escrever as funções. É simples na verdade. 

 

Estamos falando da mesma coisa? Não vi mesmo usar uma linked list? Uma lista por contiguidade seria isso que eu imagino? 🤔



 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...