千家信息网

C++栈和队列怎么实现

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,本篇内容主要讲解"C++栈和队列怎么实现",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++栈和队列怎么实现"吧!栈的定义和实现#ifndef Stack
千家信息网最后更新 2024年11月26日C++栈和队列怎么实现

本篇内容主要讲解"C++栈和队列怎么实现",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C++栈和队列怎么实现"吧!

栈的定义和实现

#ifndef Stack_H  #define Stack_H   #include "List.h"   template  class Stack : List//栈类定义  {   public:  void Push(Type value)  {   Insert(value);  }    Type Pop()   {  Type p = *GetNext();  RemoveAfter();  return p;   }    Type GetTop()   {  return *GetNext();   }    List ::MakeEmpty;   List ::IsEmpty;   };   #endif

队列的定义和实现

#ifndef Queue_H  #define Queue_H  #include "List.h"   template  class Queue : List//队列定义  {   public:  void EnQueue(const Type &value)  {   LastInsert(value);  }    Type DeQueue()   {   Type p = *GetNext();  RemoveAfter();  IsEmpty();  return p;   }    Type GetFront()   {  return *GetNext();   }    List ::MakeEmpty;   List ::IsEmpty;   };  #endif

测试程序

#ifndef StackTest_H  #define StackTest_H  #include "Stack.h"   void StackTest_int()  {   cout << endl << "整型栈测试" << endl;   cout << endl << "构造一个空栈" << endl;   Stack a;   cout << "将1~20入栈,然后再出栈" << endl;   for (int i = 1; i <= 20; i++) a.Push(i);  while (!a.IsEmpty()) cout << a.Pop() << ' ';  cout << endl;  }  #endif   #ifndef QueueTest_H  #define QueueTest_H  #include "Queue.h"   void QueueTest_int()  {   cout << endl << "整型队列测试" << endl;   cout << endl << "构造一个空队列" << endl;   Queue a;   cout << "将1~20入队,然后再出队" << endl;   for (int i = 1; i <= 20; i++) a.EnQueue(i);   while (!a.IsEmpty()) cout << a.DeQueue() << ' ';   cout << endl;  }  #endif

到此,相信大家对"C++栈和队列怎么实现"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0