计算机编程题
用C语言 如果用一个循环数组q[0..m-1]表示队列时,该队列只有一个队列头指针front,不设队列尾指针rear,而改置计数器count用以记录队列中结点的个数。 (1)编写实现队列的三个基本运算:判空、入队、出队 (2)队列中能容纳元素的最多个数是多少? 提示:基本算法如下 typedef struct {elemtp q[m]; int front,count; //front是队首指针,count是队列中元素个数。 }cqnode; //定义类型标识符。 (1)判空:int Empty(cqnode cq); //cq是cqnode类型的变量 {if( unt==0) return(1);else return(0); //空队列} 入队: int EnQueue(cqnode cq,elemtp x) {if(count==m){printf(“队满\n”);exit(0); } cq.q[( ont+count)%m]=x; //x入队 count++; return(1); //队列中元素个数增加1,入队成功。 } 出队: int DelQueue(cqnode cq) {if (count==0){printf(“队空\n”);return(0);} printf(“出队元素”,cq.q[ ont]); x=cq.q[ ont]; ont=( ont+1)%m; //计算新的队头指针。 return(x) } (2) 队列中能容纳的元素的个数为m。队头指针front指向队头元素。
答:我们知道,要使计算机按人的意图运行,就必须使计算机懂得人的意图, 接受人的命令。人要和机器交换信息,就必须要解决一个语言问题。为此, 人们给计算机设计了一种特殊...详情>>