C++ 实现数据结构中队和栈的操作
来源:互联网 发布:女式腰带淘宝网 编辑:程序博客网 时间:2024/05/24 06:31
一、队
队的存储结构是先进先出(FIFO),所以,才存储队的时候,除了一存储数据的结构外还需要定义指向队首和
队尾的指针。它的链表具体实现如下示:
typedef int datatype;typedef struct node{ datatype data;node*next;};//定义的结构体内容
//----------------------------------Queue----------------------------class Queue{private: node *rear,*front;public: void init_Queue(datatype); void input_Queue(datatype); datatype pop_Queue(); void release_Queue();}; //类中表明了数据的存储指针以及用到的一些方法void Queue::init_Queue(datatype data){ front=(node*)malloc(sizeof(node));rear=front;front->data=data;front->next=NULL;};void Queue::input_Queue(datatype data){ node*p; p=(node*)malloc(sizeof(node));rear->next=p;rear=p;rear->data=data;rear->next=NULL;};datatype Queue::pop_Queue(){ node *p;p=front;datatype data=p->data;front=front->next;free(p);return data;};void Queue::release_Queue(){node* p;while(front!=rear){ p=front; front=front->next; free(p);}free(front);front=NULL;rear=NULL;};
二、栈
栈的存储结构与队的结构正好相反,它的数据是先进后出结构,所以只需要一个指向队头的指针即可,其具体的实现
如下所示:
//----------------------------------栈(Stack)-----------------------------------class Stack{private: node* top;public: void init_Stack(datatype); void input_Stack(datatype); datatype top_Stack(); void release_Stack();};void Stack::init_Stack(datatype data){ top=(node*)malloc(sizeof(node)); top->data=data; top->next=NULL;};void Stack::input_Stack(datatype data){ node *p;p=top;top=(node*)malloc(sizeof(node));top->next=p;top->data=data;p=NULL;};datatype Stack::top_Stack(){ node *p; p=top; datatype data=top->data; top=top->next; free(p); return data;};void Stack::release_Stack(){ node *p=NULL; int count=0; while(top!=NULL){ p=top->next; free(top); top=p; p=NULL; count++; }#ifdef _DEBUG printf("count=%d\n",count);#endif};
0 0
- C++ 实现数据结构中队和栈的操作
- 数据结构中队列的基本操作实现
- C语言数据结构中队列的相关操作
- 数据结构中队列的简单操作(C语言)
- 数据结构中队列的相关操作
- C++中队列的建立和操作
- java中队列和栈的使用
- Android中队列的实现
- Swift中队列的实现
- java数据结构中队列的使用
- 顺序栈的九种基本操作和实现(数据结构C语言版清华大学严蔚敏)
- java中队和栈的区别<摘自百度知道>
- 算法与数据结构-栈的基本操作C语言实现
- Java中队Excel操作的PIO实例
- STL中队列的相关操作
- C语言实现栈数据结构操作
- C语言------数据结构(栈操作,数组实现)
- 项目中队列和实例的体会
- Eclipse中显示line number
- 个人笔记:个人linuxPC登录aws服务器及复制粘贴文件到服务器
- 单片机LED灯
- lua元表
- Contiki学习笔记
- C++ 实现数据结构中队和栈的操作
- xml组件
- 2016年终总结
- IDEA 工具tomcat服务器配置
- revtex4-1使用说明
- Android M(6.0)运行时权限申请及遇到的坑
- host无法修改解决办法
- C语言—链表的查找
- 勿忘初心,纵情向前