- Back to Home »
- Cplusplus »
- [C++] Cài đặt stack bằng danh sách liên kết
// Nhập vào các số hạng và đảo ngược.
#include <iostream>
using namespace std;
struct node
{
int data;
node *next ;
};
typedef node *pnode;
void init (pnode &h)
{
h=NULL;
}
int isempty (pnode h)
{
return (h==NULL);
}
void push (pnode &h, int x)
{
pnode p;
p= new node;
p->data =x;
p->next=h;
h=p;
}
int pop(pnode &h)
{
int x;
pnode p;
x=h->data;
p=h;
h=h->next;
delete p;
return x;
}
int main()
{
int n,i,x;
pnode h;
init(h);
cout <<"Nhap cac so cac so hang: ";
cin >> n;
for (i=0;i<n;i++)
{
cout <<"Nhap gia tri thu "<<i+1 <<": ";
cin >> x;
push(h,x);
}
cout <<"Day da nhap xep nguoc lai la: " ;
while (isempty(h)==0)
{
cout << pop (h) <<" ";
}
}