Forum Pplware

Versão Completa: Dúvida C++
Está de momento a ver uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
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
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.

[Imagem: listad.png]
ou seja o next=nextNode; e a passagem do endereço de memoria ao próximo nó da lista ? é isto?

Obrigado pela ajuda
Yap Smile
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 Smile


/********************************************
* 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
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.
URL's de Referência