Não, ela não quer ordenar --- ela quer que a inserção na lista seja feita já em ordem, é diferente.
palominha, você sabe como "costurar" um elemento no meio da lista? É mais ou menos assim:
Vamos supor que você tem uma lista encadeada (simples), onde o nó da lista tem um ponteiro para o próximo elemento, chamado "prox".
Digamos que você tem então um ponteiro chamado "novo", com o novo elemento, e outro chamado "aux" que aponta para o elemento onde você vai costurar o "novo".
Então você tinha sua lista: xxx -> xxx -> xxx -> aux -> yyy -> yyy -> yyy
Depois da costura, você vai ter: xxx -> xxx -> xxx -> aux -> novo -> yyy -> yyy -> yyy
A costura, então, é feita assim:
novo->prox = aux->prox;
aux->prox = novo;
Se você quer então inserir seus elementos de jeito que a lista já seja criada em ordem, basta, a cada inserção, localizar o último elemento que seja menor ao que você quer inserir:
aux = cabeca_lista;
enquanto (aux->prox não é nulo) e (aux->dado < novo->dado), faça:
aux = aux->prox;
Mas veja que agora a gente tem 3 possibilidades: uma, o elemento tem que entrar no meio da lista, e basta você fazer a costura.
Duas, o elemento tem que entrar no fim da lista; mas ainda assim, dá pra você fazer a costura (apesar de que vai costurar um valor nulo, mas tudo bem).
E três, e essa é muito importante, o elemento tem que entrar no início da lista, e nesse caso fica complicado, pois você precisará mexer na cabeça da lista.
Acha que já dá pra codificar alguma coisa???