Ir para conteúdo
Fórum Script Brasil
  • 0

Ordenar lista encadeada


bvianaro

Pergunta

Preciso ordenar o programa abaixo em ordem crescente somente pelos codigos dos produtos. alguém da um help?

#include<stdio.h>
#include<stdlib.h>
struct matel
{
    int codigo;
    char descricao[40];
    float custo;
    struct matel *prox;
};
typedef struct matel MATEL;
MATEL *inicio, *fim;
int contador;

void mostra_lista();

int main()
{
    int k,quant;
    MATEL *p,*aux;
    contador=0;
    printf("\nQuantas pecas serao registradas? ");
    scanf("%d",&quant);
    while (quant < 1)
    {
        printf("\nInforme valor maior que zero ");
        scanf("%d",&quant);
    }
    for(k=0;k<quant;k++)
    {
        aux=(MATEL *)malloc(sizeof(MATEL));
       if(aux==NULL)
       {
        printf("\nImpossivel alocar espaco. Tecle algo");
        getch();
        return 0;
       }
    //Preeenche o vetor
        printf("\nDigite codigo do material[%d] : ",k+1);
        scanf("%d",&(*aux).codigo);
        fflush(stdin);
        printf("\nDigite descricao do material[%d] ",k+1);
        gets((*aux).descricao);
        printf("\nDigite custo do material[%d] ",k+1);
        scanf("%f",&(*aux).custo);
        if(contador==0)
        {
         inicio=fim=aux;
         contador++;
         aux->prox=NULL;
        }
        else
        {
        fim->prox=aux;
        fim=aux;
        aux->prox=NULL;
        contador++;
        }
    }
    mostra_lista();
    printf("\n");
    system("pause");
    return 0;
}
   void mostra_lista()
    {
     MATEL *aux;
     aux=inicio;
     while(aux)
     {
        printf("\nCodigo: %d",(*aux).codigo);
        printf("\nDescricao: %s",(*aux).descricao);
        printf("\nCusto: %.2f\n",(*aux).custo);
        aux=aux->prox;
     }
    }

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Vou te passar um link de uma lista encadeada ordenada que postei há alguns

mêses atrás, pode ser que te ajude a montar sua própria versão, na verdade

foque na parte de inserir da lista e imprimir, que são funções.

http://codigosfontes-ccplus-plus.blogspot.com.br/2012/11/lista-encandeada-em-linguagem-c.html

Editado por roccoC/C++
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...