[i]=queue[i+1]; } count--; return n; } //遍历 void display(){ printf("队列有%d个元素\n",count); for(int i=0;i<count;i++){ printf("The data is %d\n",queue[i]); } printf("遍历结束\n"); } //销毁队列 void destory(){ if(queue){ free(queue); } printf("destory!!
}//获取队列中元素的个数printf("队列中元素的个数:%d\n", getQueueSize(&queue));//遍历队列中的元素traverseQueue(&queue);//判断队列是否为空printf("队列是否为空?%s\n", isQueueEmpty(&queue) == TRUE ?"是":"否");//清空队列if(clearQueue(&queue) ==SUCCESS) { printf("清空队列成功!\n"...
cout<<"此时队列的长度为:"<<QueueLength(Q)<<endl<<endl; //4. 出队 DeQueue(Q); //4.1 返回循环队列的长度 cout<<"此时队列的长度为:"<<QueueLength(Q)<<endl<<endl; return 0; } //1. 初始化循环队列函数 void InitQueue(SqQueue &Q){ Q.base = (QElemType*)malloc(MAXQSIZE *sizeof(QE...
由于约定了只能在线性表固定的两端进行操作,于是给队列这种特殊的线性表的插入删除,起个特殊的名称:队头:可以删除节点的一端队尾:可以插入节点的一端入队:将节点插入到队尾之后,函数名通常为enQueue()出队:将队头节点从队列中剔除,函数名通常为outQueue()取队头:取得队头元素,但不出队,函数名通常为fr...
访问队列中的元素个数,如例:q.size() 【示例代码1】 #include <iostream> #include <queue> using namespace std; int main() { int e,m; int len; queue<int> q; for(int i=0;i<10;i++){ q.push(i);//入队操作,q.push(x); 将x接到队列的末端 ...
获取队列元素个数 获取队列头部元素 获取队列尾部元素 总代码 Queue.h 文件 Queue.c 文件 Test.c 文件 前言 队列的概念 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out)入...
// 获取队列长度intgetLength(CirclesQueue*Q){return(Q->rear-Q->front+MAXSIZE)%MAXSIZE;// 循环队列:若rear在前方,则长度为rear-front+MAXSIZE,否则为rear-front} (八)、取队头元素 // 获取队首元素DataTypegetFront(CirclesQueue*Q){inti;i=(Q->front)%MAXSIZE;returnQ->data[(i+1%MAXSIZE)];...
phead->tail = (phead->tail + 1) % QUEUE_SIZE; 3)出队列,即从对列首部取出一个元素。在进行出队之前必须判断队列是否为空,之后队首指针加一。出队很容易让人联想到减法运算,但实际上head记录的是移除队列的元素个数,tail记录的是入队元素的个数,两者之差代表的是队列中实际存在的个数。
*/StatusQueueEmpty(SqQueue Q){if(Q.front==Q.rear){returnTRUE;}else{returnFALSE;}}/** * 初始条件:队列 Q 存在 * 操作结果:返回 Q 中元素个数,即队列长度 * @param Q * @return */intQueueLength(SqQueue Q){return(Q.rear-Q.front+MAX_QUEUE_SIZE)%MAX_QUEUE_SIZE;}/** ...