سلام دوستان
اینم یه برنامه که یه پشته را پیاده سازی می کنه و یه سری اطلاعات را داخلش میریزه و بعدش دوباره اونها را خارج می کنه (برای اموزش خوبه)
#include <stdio.h>
#include <conio.h>
int top;
struct stack
{
int data;
struct stack *next;
};
bool isempty(struct stack *x)
{
if(!top) return true;
else return false;
}
int pop(struct stack *x,bool rm)
{ if(!isempty(x))
{
struct stack *y=x;
for(int i=0;i<top-1;i++) x = x->next;
int data = x->data;
if(rm)
{
for(int i=0;i<top-2;i++) y = y->next;
y->next = NULL;
x = y;
top--;
}
return data;
}else
{
printf("It is Empty!");
return 0;
}
}
void push(struct stack *x,int data)
{
for(int i = 0;i<top;i++) x = x->next;
x->data = data;
x->next = new struct stack;
top++;
}
int main()
{
top = 0;
struct stack *t = new struct stack;
push(t,1);
push(t,2);
push(t,3);
printf("%d",pop(t,true));
printf("%d",pop(t,false));
printf("%d",pop(t,true));
printf("%d",pop(t,false));
printf("%d",pop(t,false));
getch();
return 0;
}