, ( ) , . : , . - : , . , BETA :
2.1 BETA
, (.2.1).
2.2 BETA ()
(.2.2.) (). , . , .
, , , . , , , , , , . , , , , . , / , . :
;
;
: ( , ).
. (), . :
class Node
{public:
char d; //
Node *next; //
Node *prev; //
Node (char dat = 0) { d = dat; next = 0; prev = 0;}//
};
class List2
{ Node *pbeg, *pend; //
public:
List2() { pbeg = 0; pend = 0;} //
~List2(); //
void add(char d); //
void print(); //
};
. add ' ᒺ Node , :
|
|
void List2::add(char d)
{ Node *pv = new Node(d); // '
if(!pbeg) { pbeg = pend = pv; } //
else { // :
pv->prev = pend; pend->next = pv;
pend = pv; //
}
}
, :
void List2::print()
{ Node *pv = pbeg;
cout << endl << " list: ";
while(pv) {cout << pv->d << " "; pv = pv->next; }
cout << endl; }
' - :
List2::~List2()
{ If (pbeg) { Node *pv = pbeg;
while(pv) { pv = pv->next; delete pbeg; pbeg = pv; }}
}
, List2. 'BETA' .
void main()
{ List2 l;
l.add('B');
l.add('E');
l.add('T');
l.add('A');
l.print();
getch(); }