RE:Urgente lista encadenada simple
Puedes hacerlo por el método burbuja haciendo algunas modificaciones al ciclo
for i:=1 to n do
for j:=n-1 to i do
if lista[j]>lista[j+1] then
intercambia(lista[j],lista[j+1]);
al hacerlo con listas encadenadas simplemente cambia los ciclos por un while o un repeat donde la condición no esté basada en "n" (el número de elementos) sino que se detenga cuando esté en el borde de la pila, es decir que se esté apuntando a NIL como el siguiente elemento.
Si tienes otras dudas o no me explique suficientemente claro postea tus dudas.
OK? Espero te sirva