Listas simples c++

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (377 palavras )
  • Download(s) : 0
  • Publicado : 14 de março de 2013
Ler documento completo
Amostra do texto
Universidade católica do Paraná Tecnologia em jogos Digitais

Raphael L. Tomaz Oficina de desenvolvimento de Jogos Trabalho Lista Simples C++

2013

Introdução Lista simples é um sistema quecom ponteiros fornece um controle da quantidade de itens numa lista que não se conhece um fim ou não se quer um limite fixo de componentes. Aqui será utilizado contendo formas geométricas, quadrados,retângulos e triângulos.

Código #include #include "Manager.h" #include "Quadrado.h" #include "Retangulo.h" #include "Triangulo.h" using namespace std; int main () { Manager *lista = new Manager();lista->addNode(new Quadrado(15)); lista->addNode(new Retangulo(10, 40)); lista->addNode(new Triangulo(45, 45)); lista->print(); lista->addNodeIni(new Retangulo(10, 25)); // adiciona node no começolista->addNodeIn(2, new Quadrado(20)); // adiciona node em uma posição lista->print(); lista->delNode(3); // deleta node de uma posição. lista->print(); cout next; tmp->next = node; } } voidManager::addNodeIni(Formas *forma) { Node *node = new Node(forma); node->next = lista; //Dizendo que meu novo nó está apontando para a primeira posição da lista... A lista na verdade é um marcador lista = node;//Digo que o começo da minha lista é no novo nó. } void Manager::addNodeIn(int pos, Formas *forma) { int count = 0; Node *tmp = lista; Node *node = new Node(forma); node->next = 0; for(; tmp->next !=0;){ count++;

if(count == pos - 1) { node->next = tmp->next; tmp->next = node; return; } else tmp = tmp->next; } } void Manager::addNodeIn(int pos, Formas *forma) { int count = 0; Node *tmp =lista; Node *node = new Node(forma); node->next = 0; for(; tmp->next != 0;) { count++; if(count == pos - 1) { node->next = tmp->next; tmp->next = node; return; } else tmp = tmp->next; } } intManager::Length() { int count = 0; Node *tmp = lista; for(; tmp->next != 0;) { count++; tmp = tmp->next; }

return count+1; } void Manager::sort() { } void Manager::print() { for(Node *tmp = lista; tmp != 0;...
tracking img