以下函数为链队列的入队操作,x为要入队的结点的数据域的值,front、rear分别是链队列的对头、队尾指针。
以下函数为链队列的入队操作,x为要入队的结点的数据域的值,front、rear分别是链队列的对头、队尾指针。
参考解析
略
相关考题:
在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为()。 A、front=front->nextB、rear=rear->nextC、rear=front->nextD、front=rear->next
设在一不带头结点的链队列中,front和rear分别为其队头和队尾指针,则判定该队中只有一个结点的条件是()。 A、front->nextB、rear->nextC、front==rearD、front!=rear
设在一不带头结点的链队列中,front和rear分别为其队头和队尾指针,则删除一个结点的操作是()。 A、rear=front->nextB、rear=rear->nextC、front=front->nextD、front=rear->next
阅读下列函数说明和C函数,将应填入(n)处的字句写对应栏内。[说明]二叉树的二叉链表存储结构描述如下:typedef struct BiTNode{ datatype data;struct BiTNode *lchild, * rchild; /*左右孩子指针*/}BiTNode,* BiTree;对二叉树进行层次遍历时,可设置一个队列结构,遍历从二叉树的根结点开始,首先将根结点指针入队列,然后从队首取出一个元素,执行下面两个操作:(1) 访问该元素所指结点;(2) 若该元素所指结点的左、右孩子结点非空,则将该元素所指结点的左孩子指针和右孩子指针顺序入队。此过程不断进行,当队列为空时,二叉树的层次遍历结束。下面的函数实现了这一遍历算法,其中Visit(datatype a)函数实现了对结点数据域的访问,数组queue[MAXNODE]用以实现队列的功能,变量front和rear分别表示当前队首元素和队尾元素在数组中的位置。[函数]void LevelOrder(BiTree bt) /*层次遍历二叉树bt*/{ BiTree Queue[MAXNODE];int front,rear;if(bt= =NULL)return;front=-1;rear=0;queue[rear]=(1);while(front (2) ){(3);Visit(queue[front]->data); /*访问队首结点的数据域*/if(queue[front]—>lchild!:NULL){ rear++;queue[rear]=(4);}if(queue[front]->rchild! =NULL){ rear++;queue[rear]=(5);}}}
队列采用如下图所示的循环单链表表示,图(a)表示队列为空,图(b)为e1、e2.e3依次入队列后的状态,其中,rear指针指向队尾元素所在结点,size为队列长度。以下叙述中,正确的是( )。A.入队列时需要从头至尾遍历链表,而出队列不需要B.出队列时需要从头至尾遍历链表,而入队列不需要C.新元素加入队列以及队头元素出队列都需要遍历链表,D.入队列和出队列操作都不需要遍历链表
设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为()。A.s->next=rear;rear=s;B.front->next=s;front=s;C.rear->next=s;rear=s;D.s->next=front;front=s;
设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针。设p指向要入队的新结点(该结点已被赋值),则入队操作为()。A、rear-next=p;rear=p;B、rear-next=p;p=rear;C、p=rear-next;rear=p;D、rear=p;rear-next=p;
在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为()A、front=front-next B、rear=rear-next C、rear=front-next D、front=rear-next
循环队列sq中,用数组elem存放数据元素,sq.front指示队头元素的前一个位置,sq.rear指示队尾元素的当前位置,队列的最大容量为MAXSIZE,则在队列未满时元素x入队列的主要操作为()。A、sq.rear= (sq.rear+1)mod MAXSIZE; sq.elem[sq.rear]=x;B、sq.elem[sq.rear]=x; sq.rear= (sq.rear+1)mod MAXSIZE;C、sq.front= (sq.front+1)mod MAXSIZE; sq.elem[sq.front]=x;D、sq.elem[sq.front]=x; sq.front= sq.front+1;
设数组Data[m+1]作为循环队列sq的存储空间,front成为队头指针,rear为队尾指针,则执行入队操作的语句为()A、rear = rear+1B、rear = (rear+1)%mC、front = (front+1)%mD、rear = (rear+1)%m + 1
在带头结点的链队列q中,用q.front表示队头指针,q.rear表示队尾指针,结点结构为data next ,删除链队列的队头结点的主要语句为()。A、s=q.front;q.front-next=s.next;B、s=q.front-next;q.front-next=s.next;C、s=q.front-next;q.front=s.next;D、s=q;q.front-next=s.next;
设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针,要执行出队操作,用x保存出队元素的值,p为指向结点类型的指针,可执行如下操作:p=front-next;x=p-data;然后执行()。A、front=p-next;B、front-next=p-next;C、front=p;D、front-next=p;
单选题设数组Data[m+1]作为循环队列sq的存储空间,front成为队头指针,rear为队尾指针,则执行入队操作的语句为()Arear = rear+1Brear = (rear+1)%mCfront = (front+1)%mDrear = (rear+1)%m + 1
单选题设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点x,则入队列的操作序列为( )。Afront-next=s;front=s;Bs-next=rear;rear=s;Crear-next=s;rear=s;Ds-next=front;front=s;
单选题设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针。设p指向要入队的新结点(该结点已被赋值),则入队操作为()。Arear-next=p;rear=p;Brear-next=p;p=rear;Cp=rear-next;rear=p;Drear=p;rear-next=p;
单选题设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针,要执行出队操作,用x保存出队元素的值,p为指向结点类型的指针,可执行如下操作:p=front-next;x=p-data;然后执行()。Afront=p-next;Bfront-next=p-next;Cfront=p;Dfront-next=p;
单选题在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为()Afront=front-next Brear=rear-next Crear=front-next Dfront=rear-next