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; } }