您好,欢迎来到刀刀网。
搜索
您的当前位置:首页【数据结构】链式栈的实现

【数据结构】链式栈的实现

来源:刀刀网

源代码

typedef struct  qnode 
{    ElemType  data;   
    struct qnode *next;
} LinkedQueueNode ;

typedef struct 
{    LinkedQueueNode *front;  
     LinkedQueueNode *rear;
}LQueue;


void QueueInitiate(LQueue *Q)
  {
      Q->rear = NULL;
      Q->front= NULL;
   }


int QueueAppend(LQueue *Q, ElemType x)
{	LinkedQueueNode  *p;
	if((p = (LinkedQueueNode  *)malloc(sizeof(LinkedQueueNode  )) == NULL) 
	{	printf("内存空间不足!");
		return 0;	
       }
	p->data = x;	p->next = NULL;
	if(Q->rear != NULL) p->next = Q->rear ;
	Q->rear = p;
	if(Q->front == NULL) Q->front = p;
	return 1;
}


int QueueDelete(LQueue *Q, ElemType *d)
{   
    LinkedQueueNode  *p;
    if(Q->front == NULL)
    { printf("队列已空无数据元素出队列! \n");return 0;}
     else	  {
	*d = Q->front->data;	p = Q->front;
	Q->front = Q->front->next;
	if(Q->front == NULL) Q->rear = NULL;
	free(p);	
       return 1;	
     }
}



因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务