#include <stdio.h>
#include <stdlib.h>
#include <time.h>
typedef struct _nodo{
int numero;
struct _nodo *siguiente;
}_Nodo;
typedef _Nodo * _pNodo;
_pNodo CrearLista(int numero)
{
_pNodo Lista;
Lista
= (_pNodo
)malloc(sizeof(_Nodo
)); Lista->numero = numero;
Lista->siguiente = NULL;
return Lista;
}
_pNodo InsertarElementoAlFinal(int numero, _pNodo ListaInicial)
{
_pNodo NuevoNodo;
_pNodo Auxiliar = ListaInicial;
NuevoNodo
= malloc(sizeof(_Nodo
));
NuevoNodo->numero = numero;
NuevoNodo->siguiente = NULL;
if(ListaInicial->siguiente == NULL)
{
ListaInicial->siguiente = NuevoNodo;
}
else
{
while(Auxiliar->siguiente != NULL)
{
Auxiliar = Auxiliar->siguiente;
}
Auxiliar->siguiente = NuevoNodo;
}
return NuevoNodo; ///RETORNAMOS DIRECCIÓN DEL ELEMENTO INSERTADO
}
_pNodo InsertarElementoAlInicio(int numero, _pNodo ListaInicial)
{
_pNodo NuevoNodo;
NuevoNodo
= malloc(sizeof(_Nodo
)); NuevoNodo->numero = numero;
NuevoNodo->siguiente = ListaInicial;
return NuevoNodo; ///RETORNAMOS NUEVA LISTA INICIAL
}
_pNodo InsertarElementoPosterior(int numero, _pNodo ElementoAnterior)
{
_pNodo NuevoNodo;
NuevoNodo
= malloc(sizeof(_Nodo
));
NuevoNodo->numero = numero;
NuevoNodo->siguiente = ElementoAnterior->siguiente;
ElementoAnterior->siguiente = NuevoNodo;
return NuevoNodo; ///RETORNAMOS DIRECCIÓN DEL ELEMENTO INSERTADO
}
_pNodo EliminarPrimerElemento(_pNodo Lista)
{
_pNodo Auxiliar;
Auxiliar = Lista;
if(Auxiliar->siguiente == NULL)
{
return Lista; ///SI NO HAY ELEMENTOS DEJAMOS TODO IGUAL
}
Lista = Auxiliar->siguiente;
return Lista; ///RETORNAMOS LA NUEVA BASE DE LA LISTA
}
///ELIMINAMOS ELEMENTO POR SU DIRECCIÓN
int EliminarElemento(_pNodo Elemento, _pNodo Lista)
{
_pNodo Auxiliar;
Auxiliar = Lista;
while(Auxiliar != NULL)
{
if(Auxiliar->siguiente == Elemento)
{
break;
}
Auxiliar = Auxiliar->siguiente;
}
if(Auxiliar == NULL)
{
return 0;
}
else
{
if(Elemento->siguiente == NULL)
{
Auxiliar->siguiente = NULL;
}
else
{
Auxiliar->siguiente = Elemento->siguiente;
}
return 1;
}
}
///BUSQUEDA DE ELEMENTOS
_pNodo BuscarElemento(int numero, _pNodo Lista)
{
_pNodo Auxiliar;
Auxiliar = Lista;
while(Auxiliar != NULL)
{
if(Auxiliar->numero == numero)
{
break;
}
Auxiliar = Auxiliar->siguiente;
}
return Auxiliar; ///RETORNAMOS DIRECCIÓN DEL ELEMENTO ENCONTRADO
}
void OrdenarLista()
{
_Nodo *p=NULL;
_Nodo *t=NULL;
int temp, i, j;
for(i=0;i<15; i++)
{
for(j=0;j<15;j++)
{
if(numero[j]>numero[j+1])
{
temp = numero[j];
numero[j] = numero[j+1];
numero[j+1] = temp;
}
}
}
///ASCENDENTE
for(i=0; i<15; i++)
{
}
}
int main(){
CrearLista();
int num,i;
for(i=1; i<=15; i=i+1)
{
}
return 0;
}