65,211
社区成员
发帖
与我相关
我的任务
分享
请输入一串字符:
123456
请输入要插入的字符:
1
插入字符后的字符串为:
1234561
删除第一个元素后字符串为:
1234561
删除的元素值为:
1
234561
Press any key to continue
#include <iostream.h>
#include <stdio.h>
#include <string.h>
typedef char DataType;
const int MaxQSize = 50;
class Queue
{
private:
// queue array and its parameters
int front,rear,count;
DataType qlist[MaxQSize];
public:
Queue(void):front(0),rear(0),count(0){} // initialize integer
//data members
// queue modification operations
void QInsert(const DataType &item)
{
if (QFull()) return;
qlist[rear++]=item;
rear%=MaxQSize;
++count;
}
DataType QDelete(void)
{
DataType t;
if(QEmpty()) return 0;
t=qlist[front++];
front%=MaxQSize;
--count;
return t;
}
void ClearQueue(void)
{
front=rear=count=0;
}
void Show()
{
for (int i = 0; i < count; ++i)
cout << qlist[(i+front)%MaxQSize];
cout << endl;
}
// queue access
DataType QFront(void)
{return qlist[front++];}
// queue test methods
int QLength(void) const{return count;}
int QEmpty(void) const{return count==0;}
int QFull(void) const{return count==MaxQSize;}
};
void main()
{
Queue Q;
int i;char b;
char a[MaxQSize];
cout <<"请输入一串字符:" <<endl;
gets(a);
for (i = 0; i < strlen(a); ++i)
Q.QInsert(a[i]);
cout <<"请输入要插入的字符:" <<endl;
cin>>b;
Q.QInsert(b);
cout <<"插入字符后的字符串为:" <<endl;
Q.Show();
cout <<"删除第一个元素后字符串为:" <<endl;
Q.Show();
cout <<"删除的元素值为:" <<endl;
cout <<Q.QDelete() <<endl;
Q.Show();
}