码迷,mamicode.com
首页 > 其他好文 > 详细

队列的定义与操作 链式存储

时间:2019-12-29 13:00:22      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:return   释放   pos   null   有一个   空间   操作   free   存储   

typedef struct Node *PtrToNode; 
struct Node { /* 队列中的结点 */     ElementType Data;     PtrToNode Next; }; 
typedef PtrToNode Position; struct QNode
 
 {     Position Front, Rear;  /* 队列的头、尾指针 */  
   
int MaxSize;           /* 队列最大容量 */ }; 
typedef struct QNode *Queue; bool IsEmpty( Queue Q )
 
 {     return ( Q->Front == NULL); } ElementType DeleteQ( Queue Q ) 
 
{     Position FrontCell;      ElementType FrontElem;          if  ( IsEmpty(Q) )
 
 {         printf("队列空");       
 
  return ERROR;     }     
else {         FrontCell = Q->Front;       
  if ( Q->Front == Q->Rear ) /* 若队列只有一个元素 */        
     Q->Front = Q->Rear = NULL; /* 删除后队列置为空 */       
  else                            
      Q->Front = Q->Front->Next;         
FrontElem = FrontCell->Data;         free( FrontCell );  /* 释放被删除结点空间  */    
 
    return  FrontElem;     } }

队列的定义与操作 链式存储

标签:return   释放   pos   null   有一个   空间   操作   free   存储   

原文地址:https://www.cnblogs.com/carpe-diem123/p/12114574.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!