|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 148
|
C - Ordinamento di Lista già creata
Salve a tutti,
vorrei sapere se è possibile ordinare sotto una certa chiave i nodi di una lista (dopo averla creata in modo disordinato) solamente facendo uno scambio dei puntatori ai nodi oppure se devo scambiare tutti i campi di ogni nodo. se è possibile il primo modo potete fare qualke esempio secondo una chiave intera per rendere l'idea?. Grazie. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Sep 2005
Messaggi: 148
|
Help
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Scritta ora al volo, dovrebbe funzionare.
Codice:
struct node
{
int key;
struct node *next;
}
typedef struct node *node;
typedef node *list;
/* PRE: first != NULL, second != NULL. */
void node_swap(node **first, node **second)
{
node *temp = (*first);
(*first) = (*second);
(*second) = temp;
}
void list_sort(list *l)
{
if (l == NULL || (*l)->next == NULL)
{
return;
}
if ((*l)->key > (*l)->next->key)
{
node_swap(l, &((*l)->next));
}
list_sort(&((*l)->next));
}
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:48.



















