Sunteți pe pagina 1din 3

Structures

Pentru a permite ca mai multe tipuri de structuri să se refere unele la altele, putem declara un nume ca fiind numele
unui tip de structură:

Structuri înlănţuite

#include<iostream>
#include<string>
#include<vector>
//#include<new>
using namespace std;

struct List;

struct Link
{
struct Link* pred;
struct Link* succ;
struct List* member_of;
};

struct List
{
struct Link* head;
};

void main()
{
struct List list1; //definim o lista care nu e pointer la List!
struct Link *pc, *p; //definim doi pointeri de tip Link

pc = new struct Link; //primul nod


p = pc;

list1.head = p;
p->pred = list1.head;
p->member_of = &list1;

pc = new struct Link; //al doilea nod


pc->member_of = &list1;
p->succ = pc;
pc->pred = p;
p = pc;
}

Vezi desenul de pe pagina următoare


struct List list1

struct Link *head

struct Link*

*pred *succ List*


member_of

struct Link*

*pred *succ List*


member_of

S-ar putea să vă placă și