.
1. , :
struct Stack | info | Next |
:
struct Stack {
int info;
Stack *Next;
};
2. :
Stack *begin ( ), *t ( );
3. : begin = NULL;
4. () :
t = (Stack*) malloc (sizeof(Stack)); t = new Stack;
( 1) , .. t 1.
5. (, i 1);
) :
t -> info = i1;
) : ( NULL)
t -> Next = begin;
t | info = i 1 | Next | begin = NULL |
6. :
begin = t;
:
begin (A 1) | info = i 1 | NULL |
7. :
t = (Stack*) malloc (sizeof(Stack)); t = new Stack;
(A 2) .
8. (i 2);
) :
t -> info = i2;
) , .. () ( 1):
t -> Next = begin;
t (A 2) | info = i 2 | Next = A 1 |
9. (A 2):
begin = t;
:
begin (A 2) | info = i 2 | Next = A 1 | info = i 1 | Next = NULL |
, 7, 8, 9 4, 5, 6, .. , , .
:
Stack* Create(Stack *begin) {
Stack *t = (Stack*)malloc(sizeof(Stack));
printf(\n Input Info );
scanf(%d, &t -> info);
t -> Next = begin;
return t;
}
Create :
¼
Stack *begin = NULL;
int repeat = 1;
while(repeat) { // repeat =1
begin = Create(begin);
printf( Stop - 0 ); // repeat =0
scanf(%d, &repeat);
}
¼
reate new, :
void Create(Stack **pt) {
Stack *t = new Stack;
|
|
printf(\n Input Info );
scanf(%d, &t -> info);
t -> Next = *pt;
}
: Create(&begin);
begin .
1. : t = begin;
2. (t -> info), , .
3. , :
t = t->Next;
1. t = begin.
2. , begin NULL, , , .
3. , , t NULL, .. , NULL.
4. :
printf(\n : %d, t -> info); 蠠 cout << t->info;
5. :
t = t -> Next;
6. .
:
void View(Stack *begin)
{
Stack *t = begin;
if(begin == NULL) {
puts( ! );
return;
}
while(t!= NULL) {
printf( %d \n, t->info);
t = t -> Next;
}
}
: View(begin);