Dúvida C++ - Versão de Impressão +- Forum Pplware (http://forum.pplware.com) +-- Fórum: Mais Tech (/forumdisplay.php?fid=11) +--- Fórum: Programação e Web (/forumdisplay.php?fid=16) +--- Tópico: Dúvida C++ (/showthread.php?tid=8940) |
Dúvida C++ - dluis - 06-05-2011 10:01 Bom dia. Tenho uma dúvida de C++ se alguém me poder dar umas luzes de como este código funciona agradecia, A minha duvida esta no código a negrito. /******************************************** * Singly Linked Lists - List item ********************************************/ class SLLNode { public: int data; SLLNode *next; SLLNode() // Default Constructor { data = 0; // Sem dados next = 0; // Um novo item aponta para NULL } SLLNode(int i, SLLNode *nextNode = 0) { data = i; next = nextNode; } }; Cumps RE: Dúvida C++ - Alexandre Pinheiro - 06-05-2011 10:21 assim um olhar muito por cima, isso é uma lista ligada. primeiro estas a criar um no vazio, e depois metes dados no data (data=i), e depois crias um novo nó vazio ligado ao anterior. RE: Dúvida C++ - dluis - 06-05-2011 11:06 ou seja o next=nextNode; e a passagem do endereço de memoria ao próximo nó da lista ? é isto? Obrigado pela ajuda RE: Dúvida C++ - Alexandre Pinheiro - 06-05-2011 11:14 Yap RE: Dúvida C++ - dluis - 06-05-2011 11:19 Sem querer abusar da ajuda podias-me dar só mais uma explicação deste código: este e o header file da lista propriamente dita /******************************************** * Singly Linked Lists - List * Permite adicionar, remover e aceder * aos elementos da lista ********************************************/ #include "SLLNode.h" #include "Convert.h" class SLList { private: SLLNode *First; SLLNode *Last; public: SLList() // Construtor { First = Last = 0; } /*------------------------------------------ * Function Name: AddToBottom *-------------------------------------------*/ void AddToBottom(int item) { if (Last != 0) // se a lista não está vazia { Last->next = new SLLNode(item); Last = Last->next; } else First = Last = new SLLNode(item); } o item faz referencia a que ? ao data que vem do outro hearder ? descupa tar a chatear, mas e que o meu prof ontem digamos tava alegre demais looool RE: Dúvida C++ - norua - 06-05-2011 19:02 Antes de mais informo que os meus conhecimentos de c++ situam-se perigosamente perto da inexistência, logo não garanto que o que digo tenha qualquer gralha/parvoíce, sabendo isto aqui vai: O item não é nada mais do que o campo data do SLLNode, este método o que faz é criar um novo nó(usando o construtor da classe SLLNode) e coloca-lo no fim da lista dai o nome addtobotom. BTW, provavelmente não transcreveste a totalidade da classe SLLNode para o post visto não teres nenhum construtor a receber apenas um inteiro como parâmetro. Cumps , e espero ter ajudado. |