第 6 页 共 17 页
十、链队列调试截图
第 7 页 共 17 页
十一、顺序队列源代码
//实现顺序队列的入队,出队,遍历操作 //采用字符型储存数据,指针型引用做形参 #include
void Init(SqQuene *&q);//初始化
void Destory(SqQuene *&q);//销毁队列
bool InQuene(SqQuene *&q,ElemType d);//入队
bool OutQuene(SqQuene *&q,ElemType &d);//出队对首元素
void DispQuene(SqQuene *&q,ElemType d);//列取当前队列所有元素 void Search(SqQuene *q,ElemType d);//搜索元素 void Init(SqQuene *&q)//初始化队列 { q=(SqQuene *)malloc(sizeof(SqQuene)); q->front=q->rear=-1; q->count=-1; q->no=0; }
void Destory(SqQuene *&q)//销毁队列 { free(q); }
bool InQuene(SqQuene *&q,ElemType d)//入队元素 { if(q->rear==MaxSize-1) { cout<<\队满!\ return false; } q->rear++; q->data[q->rear]=d; return true;
第 8 页 共 17 页
}
bool OutQuene(SqQuene *&q,ElemType &d)//出队元素 { if(q->front==q->rear) return false; q->front++; d=q->data[q->front]; return true; }
void DispQuene(SqQuene *&q,ElemType d)//遍历队列元素 { cout<<\所有元素:\ for(int i=q->front+1;i<=q->rear;i++) { q->front++; d=q->data[q->front]; cout<<\ } cout<
void main() { SqQuene *q; ElemType d; int n,choose; Init(q); for(;;) { cout<<\ <*********************>\ cout<<\ <* 1.入队元素 *>\ cout<<\ <* 2.出队元素 *>\ cout<<\ <* 3.遍历队列 *>\ cout<<\ <* 4.退出 *>\ cout<<\ <*********************>\ cout<<\请选择:\ cin>>choose; switch(choose) { case 1: do{ cout<<\输入您需要入队的个数(n<=\ cin>>n; q->no=q->no+n;
第 9 页 共 17 页