zoukankan      html  css  js  c++  java
  • 队列实现

    #include <iostream>
    #include <cstdlib>
    #include <cstdio>
    using namespace std;
    typedef char QueueElemType;
    
    typedef struct LinkQueueNode
    {
    	QueueElemType data;
    	struct LinkQueueNode *next;
    }LinkQueueNode;
    
    typedef struct LinkQueue
    {
    	LinkQueueNode *front;
    	LinkQueueNode *rear;
    }LinkQueue;
    
    int EnterQueue(LinkQueue *Q, QueueElemType x)
    {
    	LinkQueueNode *NewNode;
    	NewNode = (LinkQueueNode *)malloc(sizeof(LinkQueueNode));
    	if(NewNode != NULL)
    	{
    		NewNode->data = x;
    		NewNode->next = NULL;
    		Q->rear->next = NewNode;
    		Q->rear = NewNode;
    		return true;
    	}
    	else
    	{
    		return false;
    	}
    }
    
    int DeleteQueue(LinkQueue *Q, QueueElemType *x)
    {
    	LinkQueueNode *p;
    	if(Q->front == Q->rear)
    	{
    		return false;
    	}
    	p = Q->front->next;
    	Q->front->next = p->next;
    	if(Q->rear == p)
    	{
    		Q->rear = Q->front;
    	}
    	*x = p->data;
    	free(p);
    	return true;
    }
    
    int scan()
    {
    	int n;
    	cout << "1、入队       2、出队" << endl;
    	cin >> n;
    	return n;
    }
    
    int main()
    {
    	int quit = 0;
    	QueueElemType x;
    	LinkQueue *queue = (LinkQueue *)malloc(sizeof(LinkQueue));
    
    	queue->front = (LinkQueueNode *)malloc(sizeof(LinkQueueNode));
    	queue->rear = queue->front;
    	queue->front->next = NULL;
    	while(!quit)
    	{
    		switch(scan())
    		{
    		case 1 :  cin >> x; EnterQueue(queue, x); break;
    		case 2 : if(DeleteQueue(queue, &x) == true) cout << x << "元素已出队" << endl; else cout << "队列为空,请输入要入队的元素" << endl; break;
    		default : quit = 1;
    		}
    	}
    	return 0;
    }

  • 相关阅读:
    Vulkan Tutorial 06 逻辑设备与队列
    Vulkan Tutorial 05 物理设备与队列簇
    过滤器Filter(2)
    Filter过滤器(1)
    Java-Web监听器
    Filter案例
    <context:annotation-config/>
    @Autowired 和 @Resource
    Hibernate各种主键生成策略与配置详解
    eclipse新建workspace使用之前workspace的个性配置
  • 原文地址:https://www.cnblogs.com/lgh1992314/p/5835142.html
Copyright © 2011-2022 走看看