Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    26

    [C] Function sull'ordinamento di una lista dinamica

    Buongi, sono alle primissime armi con le liste e ho non poche difficoltà, avevo pensato di fare un semplicissimo algoritmo in modo tale da ordinare una serie di nodi cosi come si fa con un vettore (il modo più semplice per me).

    Purtroppo però la seguente function non viene proprio compliata, perchè?
    P.S. nodoPtr è definito come "nodo *nodoPtr" ;

    codice:
    void ordinalista (nodoPtr *lista)
    {
        nodoPtr curr;
        nodoPtr temp;
    
        curr=lista;
        curr=curr->next;
    
        while(lista!=NULL)
        {
            while(curr!=NULL)
            {
                if(lista->numero > curr->numero)
                {
                    temp=malloc(sizeof(nodo));
                    temp->numero=curr->numero;
                    curr->valore=lista->numero;
                    lista->numero=temp->numero;
                    free(temp);
                }
                curr=curr->next;
            }
            lista=lista->next;
        }
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    475
    Magari dicci anche che errore ti da, e posta il codice completo.

    In ogni caso, salta subito all'occhio che se nodoPtr = nodo*, allora nodoPtr* = nodo**.

    Quindi, nella tua funzione lista è di tipo nodo**, e di conseguenza *lista è di tipo nodo*.
    E ovviamente, il tipo nodo* essendo un puntatore non contiene nessun membro chiamato "numero".
    "Let him who has understanding reckon the number of the beast, for it is a human number.
    Its number is rw-rw-rw-."

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.