. , , . . , , , .
' ( ᒺ , ), new malloc ( ᒺ ). .
, , , . , . , , . .
( ):
;
;
, , ;
.
.
˳ () . , , . , .
, ( ), ( , ).
˳ , . ( ), . . , .
1 ( ):
1.1
(. 1.1) , NULL .
1.2
(. 1.2) .
|
|
.
. , ( ).
ᒺ, -, . , NULL.
, ( . 1.1):
List... //
List->next... //
List->next->next... //
List->elem... //
, .
:
; , ( ); , , , ;
() ( .. ); , , , / ; ; , , , ;
() ( .. ); , , , ; , , , ; ;
;
.
2. (), . :
class Node
{
public:
char d; //
Node *next; //
Node (char dat = 0) //
{ d = dat; next = 0; }
};
class List
{Node *pbeg, *pend; //
public:
List() { pbeg = 0; pend = 0;} //
~List(); //
void add(char d); //
void print();//
};
. add ' ᒺ Node , :
void List::add(char d)
{ Node *pv = new Node(d); // '
if(!pbeg) { pbeg = pend = pv; } //
else // :
{ pend->next = pv;
pend = pv; } //
}
, :
|
|
void List::print()
{ Node *pv = pbeg;
cout << endl << " list: ";
while(pv)
{ cout << pv->d << " ";
pv = pv->next;
}
cout << endl;
}
' - :
List::~List()
{
if(pbeg)
{ Node *pv = pbeg;
while(pv)
{ pv = pv->next;
delete pbeg;
pbeg = pv;
}
}
}
, List. 'BETA' .
void main()
{ List l;
l.add('B');
l.add('E');
l.add('T');
l.add('A');
l.print();
getch();
}