/*―――――――――――出队―――――――――――*/ int printqueue(Queue *q){ if(q->front==q->rear){
cout<<”队中已无元素”< cout<<”队中元素依次为:”; while(q->front!=q->rear) cout<<”[”< /*―――――――――――主程序―――――――――――*/ int main(){ queue *q; q=new Queue; initqueue(q); cout<<”please input five elements into queue”< switch(i){ case 1:m=dequeue(q,x+1); < default:cout<<”请重新输入”< cin>>i; } return 0; } 2、第二题 进制转换 #include #define OK 1 #define OVERFLOW -2 typedef int SElemtype; typedef struct{ SElemtype *base; SElemtype *top; int Stacksize; }ZGstack; int InitStack(ZGstack &L){ L.base=(SElemtype *)malloc(STACK_INIT_SIZE * sizeof(SElemtype)); if(!L.base) return ERROR; L.top=L.base; L.Stacksize=STACK_INIT_SIZE; return OK;} PushStack(ZGstack &L,SElemtype e){ if(L.top-L.base==L.Stacksize) L.base=(SElemtype*)realloc(L.base,(L.Stacksize+STACKINCREMENT)*sizeof(SElemtype); if(!L.base) exit(OVERFLOW); L.top=L.base+L.Stacksize; L.Stacksize+=STACKINCREMENT; } *L.top++=e; return OK; } int PopStack(ZGstack &L,SElemtype &e){ if(L.top==L.base) return ERROR; e=*--L.top; //首先使s.top向下移动一位,然后把s.top指向的值赋给e return OK; } int StackEmpty(ZGstack L){ if(L.top==L.base) return 1; else return 0; } void main(){ ZGstack S; SElemtype e; int m; cout<<\请输入一个十进制数\ cin>>m; InitStack(S); while(m!=0){ e=m%8; PushStack(S,e); m=m/8; } while(!StackEmpty(S)) { PopStack(S,e); cout< 栈的实现结果截图 队列实现结果截图 进制转换结果截图