Zdrojové kódy pro vývojáře.
Přeskočit odkazy pro navigaci Top 10 přispěvatelů
UživatelČlánky
codeshare45
sochor1
stoupa1
tomas.oplt15
Článek: Algoritmus - Stack (zásobník)
Špatný Super
Autor:
Vytvořeno:
Popularita:

Úvod

Zásobník je datová struktura, která funguje na principu LIFO (last-in first-out).
Elementy, které jsou uloženy do zásobníku jako poslední budou čteny jako první. 

#include  
#include
#include
#include
#include
using std::cout;
using std::cin;

class element
{
public:
int value;
element* next;
};

class stack
{
public:
int size;
element* current;

stack()
{
size=0;
current=NULL;
}

bool push(int,element*);
bool pop();
bool isEmpty();
int getStackSize();
void printStackSize();
void printStackElements(element*);
void printStackMenu();
};

bool stack::push(int ele,element* temp)
{
temp=new element;

if(current==NULL)
{
temp->next=NULL;
}
else
{
temp->next=current;
}
temp->value=ele;
current=temp;
printf("%d inserted\n\n",ele);
size++;
return false;
}

bool stack::pop()
{
if(isEmpty())
{
return false;
}
else
{
cout<<"\n Element To POP :"cout<<"\n Before POP";

printStackElements(current);
current=current->next;

cout<<"\n After POP";

printStackElements(current);
size=size--;
}
return true;
}

bool stack::isEmpty()
{
if(getStackSize()==0)
return true;

return false;
}

int stack::getStackSize()
{
return size;
}

void stack::printStackSize()
{
cout<<"\nThe Size of the Stack:"<}

void stack::printStackElements(element* base)
{
element* curr2;
curr2= base;
cout<<"\n-----\n";
cout<<"STACK\n";
cout<<"-----\n";
while(curr2!=NULL)
{
cout<<" |"curr2=curr2->next;
}
}

void stack::printStackMenu()
{
cout<<"Welcome to Stack \n";
cout<<"1.Push an element\n";
cout<<"2.Pop an element\n";
cout<<"3.Display Stack\n";
cout<<"4.Size Of Stack\n";
cout<<"5.Exit\n";
}

void main()
{
stack st;
char Option=0;
int val;

while(1)
{
st.printStackMenu();
cin>>Option;
switch(Option)
{
case '1':
cout<<"Enter a Number \n";
cin>>val;
st.push(val,st.current);
break;
case '2':
st.pop();
break;

case '3':
st.printStackElements(st.current);
break;

case '4':
st.printStackSize();

break;
case '5':
exit(0);
break;
}
}
}

Conclusion

.......

  Na stránku 
screen  Nový příspěvek
Název  Uživatel  Datum 
Poslední návštěva: 14:38:36, 21. listopadu 2017 První  Předchozí  0 Záznamů  Další  Poslední  

Autor článku
Jméno
Pracovní pozice
Informace
Foto

   

Počet návštěvníků:43
 
  Kontakt