.


:




:

































 

 

 

 





, , . , . . LIFO (last in first out, ).

( ) . NULL.

: ; ; ; , .

1. .

 

class Node

{ public:

char d; //

Node *next; //

Node (char dat = 0) { d = dat; next = 0;} //

};

 

class Stack

{Node *top; //

public:

Stack() { top = 0;} //

~Stack(); //

void push(char d); //

void print(); //

};

 

. push ' ᒺ Node , :

 

void Stack::push(char d)

{

Node *pv = new Node(d); // '

if(!top) { top = pv;} //

else // :

{ pv->next= top;

top =pv;} //

}

 

, :

 

void Stack::print()

{ Node *pv = top;

cout << endl << " stack: ";

while(pv) { cout << pv->d << " ";

pv = pv->next; }

cout << endl;

}

 

' - :

 

Stack::~Stack()

{ if(top)

{ Node *pv = top;

while(pv) {pv = pv->next;

delete top;

top = pv;}

}

}

, Stack. 'BETA' .

 

void main()

{

Stack S;

S.push('B');

S.push('E');

S.push('T');

S.push('A');

S.print();

getch();

}

 

, , . , . . FIFO (first in first out, ).

( ) . / NULL. .

( ).

2. .

 

class Node

{public:

char d; //

Node *next; //

Node (char dat = 0) { d = dat; next = 0;} //

};

 

class Queue

{ Node *pbeg, *pend; //

public:

Queue() {pbeg = 0;} //

~Queue();//

void add(char d); //

void print();//

};

 

. add ' ᒺ Node , :

 

void Queue::add(char d)

{

Node *pv = new Node(d); // '

if(!pbeg) {pbeg = pv; pend = pv;} //

else // :

{pend->next=pv;

pend = pv;} //

}

 

, :

 

void Queue::print()

{ Node *pv = pbeg;

cout << endl << " queue: ";

while(pv) {cout << pv->d << " ";

pv = pv->next; }

cout << endl;

}

 

' - :

 

Queue::~Queue()

{ if(pbeg)

{ Node *pv = pbeg;

while(pv)

{ pv = pv->next;

delete pbeg;

pbeg = pv;

}

}

}

 

, Queue. 'BETA' .

 

void main()

{

Queue Q;

Q.add('B');

Q.add('E');

Q.add('T');

Q.add('A');

Q.print();

getch();

}





:


: 2016-07-29; !; : 258 |


:

:

.
==> ...

1848 - | 1701 -


© 2015-2024 lektsii.org - -

: 0.011 .