• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

PuPax

Ordenar Lista ligada em função de uma string

6 mensagens neste tópico

Boas.

Estou com uma duvida relativamente a ordenação de uma lista ligada por um campo que é uma string (nome).

Para ordenar por um inteiro, faço-o assim:

if(lista==NULL || lista->pont > actual->pont)
	{
		actual->prox = lista;
		lista = actual;
	}
	else
	{
		aux = lista;
		while(aux->prox!=NULL && aux->prox->pont < actual->pont)
			aux = aux->prox;
		actual->prox = aux->prox;
		aux->prox = actual;
	}

Agora para ordenar por uma string não estou a ver, alguém tem alguma ideia?

Cumprimentos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Essa função serve para comparar strings. Se já consegues ordenar tendo como critério de ordenação a comparação entre inteiros, também consegues comparando entre strings, basta usar essa função.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não estou a perceber... A função strcmp diz se duas strings são iguais ou não... Onde é que isso pode ajudar a analisar se um string e "inferior" a outra.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Citando do link acima:

"A zero value indicates that both strings are equal.

A value greater than zero indicates that the first character that does not match has a greater value in str1 than in str2; And a value less than zero indicates the opposite."

O strcmp não diz só se duas strings são iguais ou não, também te diz se uma string é superior ou inferior a outra.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora