Lista ordenada
Tenho que fazer uma lista ordenada...
Ja tenho as função de inserir no inicio e no fim.
Então tendo os valores 10,20,40 se eu escolher inserir ordenado e colocar o valor 30, tem que ficar 10,20,30,40
Tenho os seguintes itens ja programados.
struct sLista
{
int info;
sLista *prox;
};
main()
{
sLista *ini, *fim;
int x, op;
ini = fim = NULL; // iniciar lista (vazia)x=30
inserirsequencia(ini, &fim, x);
//o mais tem muitos mais coisas, mais para evitar codigos grandes, postei so o inicial.
}
void inserirsequencia(sLista *pini, sLista **pfim, int px){
sLista *aux, *cont;
aux = (sLista*) malloc(sizeof(sLista));
aux->info = px;
if (pini == NULL) // primeiro a inserir
{
pini = *pfim = aux;
aux->prox = NULL;
}
else
{
do{
//if(px<pini){
aux->info = px;
pini = pini->prox;
//}
}while (pini != NULL);
}
}Discussão (6)
Carregando comentários...