Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Dúvida C++
06-05-2011, 10:01 (Esta mensagem foi modificada pela última vez a: 06-05-2011 10:02 por dluis.)
Mensagem: #1
Dúvida C++
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
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
06-05-2011, 10:21 (Esta mensagem foi modificada pela última vez a: 06-05-2011 10:26 por Alexandre Pinheiro.)
Mensagem: #2
RE: Dúvida C++
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]

[Imagem: linuxuser.png]
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
06-05-2011, 11:06
Mensagem: #3
RE: Dúvida C++
ou seja o next=nextNode; e a passagem do endereço de memoria ao próximo nó da lista ? é isto?

Obrigado pela ajuda
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
06-05-2011, 11:14
Mensagem: #4
RE: Dúvida C++
Yap Smile

[Imagem: linuxuser.png]
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
06-05-2011, 11:19
Mensagem: #5
RE: Dúvida C++
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
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
06-05-2011, 19:02
Mensagem: #6
RE: Dúvida C++
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.
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 1 Visitante(s)