Escolar Documentos
Profissional Documentos
Cultura Documentos
h>
#include <stdlib.h>
struct node
{
int data;
struct node *next;
};
int main()
{
int option;
do
{
printf("\n\n *****MAIN MENU *****");
printf("\n 1: Cria elemento e insere na lista");
printf("\n 2: Imprimi a Lista");
printf("\n 3: Adiciona no no inicio da lista");
printf("\n 4: Adiciona no no fim da lista");
printf("\n 5: Adiciona no antes de um dado no");
printf("\n 6: Adiciona no depois de um dado no");
printf("\n 7: Deleta um no no inicio da lista");
printf("\n 8: Deleta um no no fim da lista");
printf("\n 9: Deleta um no especifico");
printf("\n 10: Deleta um no depois de um no especifico");
printf("\n 11: Deleta toda a Lista");
printf("\n 12: Ordena a lista");
printf("\n 13: Sair");
printf("\n\n Informe uma opcao: ");
scanf("%d", &option);
switch (option)
{
case 1:
start = CriarListaLigada(start);
printf("\n Lista Ligada Criada");
break;
case 2:
start = ImprimirListaLigada(start);
break;
case 3:
start = InsereInicioLista(start);
break;
case 4:
start = InsereFimLista(start);
break;
case 5:
start = InsereAntes(start);
break;
case 6:
start = InsereDepois(start);
break;
case 7:
start = DeletaNoInicio(start);
break;
case 8:
start = DeletaNoFim(start);
break;
case 9:
start = DeletaNoEspecifico(start);
break;
case 10:
start = DeletaDepois(start);
break;
case 11:
start = DeletaTudo(start);
printf("\n Lista Ligada Deletada");
break;
case 12:
start = OrdenaLista(start);
break;
}
} while (option != 13);
return 0;
}
if (start == NULL)
{
new_node->next = NULL;
start = new_node;
}
else
{
ptr = start;
ptr->next = new_node;
new_node->next = NULL;
}
return start;
}
return start;
}
return start;
}
ptr = start;
ptr->next = new_node;
return start;
}
printf("\n Enter the value before which the data has to be inserted : ");
scanf("%d", &val);
ptr = start;
preptr->next = new_node;
new_node->next = ptr;
return start;
}
printf("\n Enter the value after which the data has to be inserted : ");
scanf("%d", &val);
ptr = start;
preptr = ptr;
preptr->next = new_node;
new_node->next = ptr;
return start;
}
return start;
}