Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [C] lista interi.

  1. #1
    Utente bannato
    Registrato dal
    Jul 2002
    Messaggi
    99

    [C] lista interi.

    Qualcuno sa dirmi perchè questo segmento di codice, che crea una lista di interi e imlementa una funzione di inserimento in coda, non mi da i risultati sperati???


    #include <stdio.h>
    #include <stdlib.h>

    typedef struct rec *pnumero;

    typedef struct rec
    {
    int num;
    pnumero next;
    }numero;

    pnumero lista1=NULL,lista2=NULL;

    void ins_in_coda (pnumero lis, int elem)
    {
    pnumero cur, new;
    cur=lis;
    new=(pnumero) malloc(sizeof(struct rec));
    new->num=elem;
    new->next=NULL;
    while (cur->next!=NULL) cur=cur->next;
    cur->next=new;
    }

    main()
    {
    ins_in_coda (lista1,1);
    printf("%d",lista1->num);
    scanf("d%");

    }



    Grazie.

  2. #2
    Utente bannato
    Registrato dal
    Jul 2002
    Messaggi
    99
    up

  3. #3
    Utente di HTML.it L'avatar di gokan
    Registrato dal
    Feb 2003
    Messaggi
    262
    Ti posso implementare la procedura Inserisci in Coda in Pascal.

    Type
    puntatore=^elemento
    elemento=record
    info: integer;
    next: puntatore
    end;

    codice:
    Procedure InserisciInCoda (var lis: puntatore; valore: integer);
    var
     ultimo:puntatore;
     paux:puntatore;
    
    begin
    new(paux);
    paux^.info:=valore;
    paux^.next:=NIL; //Si mette a Nil perchè sarà l'ultimo elem della lista
    
    if lis=NIL then lis:=paux //se la lista è vuota, paux sarà la nuova testa della lista
    else
     begin
     ultimo:=lis;
    while ultimo^.next<>NIL do ultimo:=ultimo^.next; //scandiamo la lista fino a quando arriviamo alla fine..
     ultimo^.next:=paux; //a quel punto colleghiamo paux all'ultimo elemento ed il gioco è fatto!!
    end;

  4. #4
    Utente bannato
    Registrato dal
    Jul 2002
    Messaggi
    99
    Grazie, è già qualcosa.

    Ora vedo cosaa risco a fare.


    rikyxxx

  5. #5
    Questa è il metodo enqueue di una coda in C++, spero ti serva:

    codice:
    struct persona {
        stringa nome;
        stringa cognome;
    };
    
    struct abbonato;
    
    typedef abbonato* pointer;
    
    struct abbonato {
        persona utente;
        pointer next;
    };
    
    void Coda::enqueue(const persona& p) {
        pointer q = new abbonato;
        strcpy(q->utente.nome,p.nome);
        strcpy(q->utente.cognome,p.cognome);
        if (c == 0) {
           q->next = 0;
           c = q;
           t = c;
        }
        else {
           q->next = c;
           c = q;
        }
    }
    
    P.S. c è il puntatore alla coda
    Bye

    Max
    La luce è più veloce del suono,ecco xchè alcune persone sembrano brillanti fino a quando non parlano


  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    4
    Lista di interi in C:


    ---------------------------------
    #include <stdio.h>
    #include <stdlib.h>


    struct rec {
    int num;
    struct rec *next;
    };

    typedef struct rec LIST;
    typedef LIST *P_LIST;


    P_LIST add_e(P_LIST head, int elem);


    int main()
    {
    P_LIST head = NULL;
    P_LIST cur = NULL;

    head = add_e(head, 1);
    head = add_e(head, 2);
    cur = head;

    do
    {
    printf("%d\n", cur->num);
    cur = cur->next;

    } while(cur != NULL);

    return 0;

    }


    P_LIST add_e (P_LIST head, int elem)
    {
    P_LIST cur = NULL;
    P_LIST new = NULL;

    new=(P_LIST)malloc(sizeof(LIST));
    new->num = elem;

    if(head == NULL)
    {
    head = new;
    new->next = NULL;
    }

    else
    {
    cur=head;
    while(cur->next != NULL)
    {
    cur=cur->next;
    }
    cur->next = new;
    new->next = NULL;
    }
    return(head);

    }
    ---------------------------------------

    Spero che ti sia utile


    Ciao

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.