C++技巧:用class类实现链表

题目描述
编写一个类,实现简单的栈(提示:用链表结构实现)。数据的操作按先进后出(FILO)的顺序。

提示:
成员函数为
void queue::put(int item); //将数据item插入到栈中
int queue::get(); //从栈中取数据
数据成员为
一个指向链首的指针
链表结构为
struct Node
{
int a;
Node* next;
}
对象使用过程
queue que;
que.put(10);
que.put(12);
que.put(14);
cout< cout<

代码:

#include
using namespace std;
struct node
{
    int data;
    node *next;
};
class queue
{
private:
    node *head;
public:
    queue()
    {
        head = new node;
        head = NULL;
    }
	void put(int team);
	int get();
	~queue();
};
void queue::put(int team)
{
    node *p;
    if(head==NULL)
    {
        p=new node;
        p->data = team;
        p->next = NULL;
        head =p;
    }
    else
    {
        p=new node;
        p->data = team;
        p->next = head;
        head = p;
    }
}
int queue::get()
{
    if(head == NULL)
    {
        return -1;
    }
    int tmp;
    tmp =head->data;
    head = head ->next;
    return tmp;
}
queue::~queue()
{
    node *p=head,*q;
    while(p)
    {
        q=p;
        p=p->next;
        delete q;
    }
}
int main()
{
    queue que;
    que.put(10);
    que.put(12);
    que.put(14);
    cout<<que.get()<<endl;
    cout<<que.get()<<endl;
	return 0;
}

你可能感兴趣的:(数据结构,c++,链表,算法)