#include <iostream>
#include <algorithm>
#include <cstring>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
//本代码为队列链式存储主要操作及内容
#define maxsize 50
typedef struct linknode{
int data;
struct linknode *next;
}linknode;
typedef struct{
linknode *front,*rear;
}linkqueue;
void initqueue(linkqueue &q){
q.front=q.rear=(linknode *)malloc(sizeof(linknode));
q.front->next=NULL;
q.rear->next=NULL;
}
bool isempty(linkqueue q){
if(q.rear==q.rear)
return true;
else
return false;
}
void enterqueue(linkqueue &q,int e){
linknode *s=(linknode *)malloc(sizeof(linknode));
s->data=e,s->next=NULL;
q.rear->next=s;
q.rear=s;
}
bool deletequeue(linkqueue &q,int &e){
if(q.front==q.rear)
return false;
linknode *p=q.front->next;
x=p->data;
q.front->next=p->next;
if(q.rear=p) //如果不判断的话,直接给p空间清除,有可能将q.rear一起删除。
q.rear=q.front;
free(p);
return true;
}
int main(int argc, char** argv) {
return 0;
}
队列的链式存储
最新推荐文章于 2022-09-27 10:05:14 发布