数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
2017-12-19 00:43
931 查看
C++的头文件已经包含了队列如下所示,但我们也要了解一下他们的实现原理,而且stl提供的容器都是“通用版本”,在解决某些具体问题时,stl不一定是最合适最高效的,有时候还是要自己实现特化版本……,所以自己编写一次代码
直接调用头文件方法
代码如下:
运行结果
下面是直接直接
编写的队列的相关操作
伪代码(请忽略红色线)
c++代码
运行结果
直接调用头文件方法
代码如下:
#include <iostream> #include<queue>//头文件 using namespace std; int main() { queue<int> q; for(int i=0;i<10;++i) q.push(i+1);//入队1到10 int queue_head=q.front();//获取队首元素 int queue_number=q.size();//获取队列元素个数 cout<<"队首元素为:"<<queue_head<<endl; cout<<"队列元素总个数为:"<<queue_number<<endl; cout<<"队列元素依次出队"<<endl; while(!q.empty()) { cout<<q.front()<<" ";//cout<<q.pop()<<" "出错 q.pop(); } return 0; }
运行结果
下面是直接直接
编写的队列的相关操作
伪代码(请忽略红色线)
c++代码
#include <iostream> #define queueSize 100//定义队列大小为100 using namespace std; class seqQueue//顺序队列 { private: char queue[queueSize]; int head; int tail; public: void initQueue(seqQueue &sQ); void clearQueue(seqQueue &sQ); int queueEmpty(seqQueue &sQ); int enQueue(seqQueue &sQ,char x); int deQueue(seqQueue &sQ,char *x); friend int main();//将主函数声明为类的友元,这样主函数才能访问类的私有成员 }; /*初始化队列*/ void seqQueue::initQueue(seqQueue &sQ) { sQ.head=sQ.tail=0; } /*删除队列*/ void seqQueue::clearQueue(seqQueue &sQ) { sQ.head=sQ.tail=0; } /*如果队列为空*/ int seqQueue::queueEmpty(seqQueue &sQ) { if(sQ.tail==sQ.head) return 1; else return 0; } /*入队*/ int seqQueue::enQueue(seqQueue &sQ,char x) { if(sQ.tail==queueSize)//从队尾进入 return 0; else { sQ.queue[sQ.tail++]=x; return 1; } } /*出队*/ int seqQueue::deQueue(seqQueue &sQ,char *x) { if(sQ.tail==sQ.head) return 0; else { 4000 *x=sQ.queue[sQ.head++]; return 1; } } int main() { seqQueue sq; char x; char str[]="abcd";//定义一个数组 sq.initQueue(sq);//初始化 for(int i=0;i<sizeof(str)/sizeof(str[0]);++i) sq.enQueue(sq,str[i]);//将"abcd"入队 cout<<"输入到队列中的元素依次为:"; for(int i=0;i<sizeof(str)/sizeof(str[0]);++i) cout<<str[i]<<" ";//首先输出我们输入到队列中的元素 sq.deQueue(sq,&x);//出队队首元素 cout<<endl<<"出队的元素为:"<<x; cout<<endl<<"剩余元素依次出队:"; if(!sq.queueEmpty(sq)) { for(int i=sq.head;i<sq.tail;++i) cout<<sq.queue[i]<<" "; } return 0; }
运行结果
相关文章推荐
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之队列的基本操作入队出队初始化删除-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果
- 数据结构之栈的初始化、创建、入栈、出栈、销毁-c++代码实现及运行实例结果