当前位置: 首页> 教育> 就业 > 二次开发需要源代码吗_深圳燃气公司电话客服_公司网络推广该怎么做_百度seo2022

二次开发需要源代码吗_深圳燃气公司电话客服_公司网络推广该怎么做_百度seo2022

时间:2025/7/9 1:51:02来源:https://blog.csdn.net/2301_80320259/article/details/144541675 浏览次数:0次
二次开发需要源代码吗_深圳燃气公司电话客服_公司网络推广该怎么做_百度seo2022

一、顺序队

1.定义

typedef struct 
{  ElemType data[MaxSize]; int front,rear;      //队首和队尾指针
}  SqQueue;
SqQueue Q;  //声明顺序队

2.初始化

void InitQueue(SqQueue &q) //初始化顺序队
{  q=(SqQueue *)malloc (sizeof(SqQueue));q.front=q.rear=0;
}

3.销毁

void DestroyQueue(SqQueue &q)//销毁顺序队{free(q);
}

4.判断是否为空

bool QueueEmpty(SqQueue q) //队列
{return(q.front==q.rear);
}

5.进队-循环进队

bool EnQueue (SqQueue &Q, ElemType x)
{
if ((Q.rear+1)%MaxSize==Q.front)return false;  //队满则报错
Q.data[Q. rear]=x;  //新元素插入队尾
Q. rear=(Q. rear+1)%MaxSize;  //队尾指针加1取模
return true;
}

6.出队

bool DeQueue (SqQueue &Q, ElemType &x){
if(Q. rear==Q. front)return false;  //队空则报错
x=Q. data[Q. front] ;
Q. front=(Q. front+1)%MaxSize ;
return true;
}

7.求队首元素

bool Gethead (SqQueue &Q, ElemType &x){
if(Q. rear==Q. front)return false;     //队空则报错
x=Q. data[Q. front] ;
return true;
}

8.队列长度

int QueueLength(SqQueue Q)
{return((rear-front+MaxSize)%MaxSize);
}

二、链队

1.定义

typedef struct qnode
{  ElemType data;	//数据元素struct qnode *next;
} LinkNode;
typedef struct
{  LinkNode *front;	//指向单链表队头结点LinkNode *rear; 	//指向单链表队尾结点
}  LinkQuNode; 

2.初始化-不带头结点

void InitQueue(LinkQuNode &Q)
{      Q. front=NULL;Q. rear=NULL;
}

3.判断是否为空

bool LiQueueEmpty(LinkQuNode &Q)
{      return(Q. front==NULL);
}

4.取队首元素

bool GetHead(LinkQuNode Q,ElemType &x)
{      if (Q.front==NULL)   //队空报错return false;LinkNode *p=Q.front;   //找到队头元素x=p->data;return true;
}

5.进队

void EnQueue(LinkQueue &Q, ElemType x){
LinkNode *s=(LinkNode * ) malloc(sizeof(LinkNode)) ;
s->data=x; s->next=NULL;
if (Q.front == NULL)  { //在空队列中插入第一 个元素Q.front = s;   //修改队头队尾指针Q.rear=s;   } else {Q.rear->next=S; //新结点插入到rear 结点之后Q.rear=s;  //修改rear 指针}
}

6.出队

bool DeQueue(LinkQueue &Q, ElemType &x)
{if(Q. front==NULL)return false;//空队LinkNode *p=Q. front;// p指向此次出队的结点x=p->data;//用变量x返回队头元素Q. front=p->next ;//修改front 指针if(Q.rear==p){//此次是最后-一个结点出队Q. front = NULL;//front指向NULLQ.rear = NULL;//rear指向NULL}free(p);//释放结点空间	return true;}

关键字:二次开发需要源代码吗_深圳燃气公司电话客服_公司网络推广该怎么做_百度seo2022

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: