zoukankan      html  css  js  c++  java
  • 新手讲队列:编程实现队列的入队出队操作

    首先定义队列:

    typedef struct student{
    	int data;
    	struct student *next;
    }node;
    
    typedef struct linkqueue{
    	node *first,*rear;
    }queue;
    

    定义插入操作:

    queue *insert(queue *HQ,int x){
       node *s;
       s=(node *)malloc(sizeof(node));
       s->data=x;
       s->next=NULL;
       if(HQ->rear==NULL){
       	//HQ没有队尾,则为空
    	//就让s成为他的队尾 和队头 
       	HQ->first=s;
       	HQ->rear=s;
       }else{
       	//先让队尾的下一个元素指向s
    	//将 s变为现在的队尾 
       	HQ->rear->next=s;
       	HQ->rear=s;
       }
       return HQ;
    }
    

    定义删除操作:

    queue *del (queue *HQ){
    	int x;
    	if(HQ->first==NULL){
    		cout<<"队列为空,无元素移除"<<endl;
    	}
    	else{
    		x=HQ->first->data;
    		//判断是否只有一个元素
    		if(HQ->first==HQ->rear){
    			HQ->first=NULL;
    			HQ->rear=NULL;
    		}else{
    			HQ->first=HQ->first->next;
    		}
    	}
    	return HQ;
    }
    

    以上即为实现

  • 相关阅读:
    python-登录小游戏
    easyclick 学习
    PYQT5 学习
    Pycharm之QT配置
    标贴打印机的基本使用
    开发遇到的问题及其解决
    Datatable 数据源
    JIRA操作之JQL
    类视图函数 VIEW
    前端基础
  • 原文地址:https://www.cnblogs.com/jijiji/p/4789029.html
Copyright © 2011-2022 走看看