当前位置: 首页 > news >正文

成品网站1688入口的功能介绍做公司网站需注意什么

成品网站1688入口的功能介绍,做公司网站需注意什么,网络营销推广的方式方法有哪些,做中考试卷的网站需求:无 本篇文章将解决一下几个问题: 队列是什么?如何实现一个队列?什么场景下会用队列? 队列的概念: 队列:一种只允许一端进行插入数据操作,在另一端进行删除操作的特殊线性表。…

需求:无

本篇文章将解决一下几个问题:

  1. 队列是什么?
  2. 如何实现一个队列?
  3. 什么场景下会用队列?

 队列的概念:

  • 队列:一种只允许一端进行插入数据操作,在另一端进行删除操作的特殊线性表。队列具有先进先出(FIFO)入队列:进行插入操作的一端称为队尾,出队列的一端叫做队头。

 队列的实现:

  •  队列也可以使用链表或者数组来实现。但是一般都是用链表来实现,如果用数组的话,出队列的时候,会移动数据,效率很低(O(N))。
  • 用链表实现,出队列时要记录好头节点的下一个节点。

  • 队列的判空:当元素个数为0,就是一个空队列,这时不允许出队列。

  • 队列元素的个数:当入队列的时候,size就+1,出队列时就-1,当我们需要元素个数的时候就不需要遍历,用O(1)的时间复杂度就可以完成队列的元素个数。

 队列的应用场景:

  •  其实在我们的生活中,到处都是队列的身影,像排队买票的时候,医院叫号的时候....
  • 还有就是想大麦app上抢演唱会的票等等,都有队列的身影。

队列的源码:

void QueueInit(Queue* pq)
{assert(pq);pq->tail = pq->head = NULL;pq->size = 0;
}void QueueDestroy(Queue* pq)
{assert(pq);QueueNode* cur = pq->head;while (cur){QueueNode* next = cur->next;free(cur);cur = next;}
}void QueuePush(Queue* pq, QueueDateType x)
{assert(pq);QueueNode* newnode = (QueueNode*)malloc(sizeof(QueueNode));if (newnode == NULL){perror("malloc fail");exit(-1);}newnode->next = NULL;newnode->val = x;if (pq->head == NULL){pq->tail = pq->head = newnode;}else{pq->tail->next = newnode;pq->tail = newnode;}pq->size++;
}void QueuePop(Queue* pq)
{assert(pq);assert(!QueueEmpty(pq));if (pq->head->next == NULL){free(pq->head);pq->head = pq->tail = NULL;pq->size--;}else{QueueNode* next = pq->head->next;free(pq->head);pq->head = next;pq->size--;}
}QueueDateType QueueFront(Queue* pq)
{assert(pq);assert(!QueueEmpty(pq));return pq->head->val;
}QueueDateType QueueBack(Queue* pq)
{assert(pq);assert(!QueueEmpty(pq));return pq->tail->val;
}int QueueSize(Queue* pq)
{assert(pq);return pq->size;
}bool QueueEmpty(Queue* pq)
{assert(pq);return pq->head == NULL;
}void QueuePrint(Queue* pq)
{assert(pq);while (pq->head){printf("%d ", pq->head->val);pq->head = pq->head->next;}printf("\n");
}

typedef int QueueDateType;
typedef struct QueueNode
{struct QueueNode* next;QueueDateType val;
}QueueNode;typedef struct Queue
{QueueNode* head;QueueNode* tail;int size;
}Queue;void QueueInit(Queue* pq);
void QueueDestroy(Queue* pq);
void QueuePush(Queue* pq,QueueDateType x);
void QueuePop(Queue* pq);
QueueDateType QueueFront(Queue* pq);
QueueDateType QueueBack(Queue* pq);
int QueueSize(Queue* pq);
bool QueueEmpty(Queue* pq);
void QueuePrint(Queue* pq);

http://www.yayakq.cn/news/514024/

相关文章:

  • 做网站设计能赚钱吗正版宝安网站推广
  • 哈尔滨哪里做网站网站企业建设
  • 定制型网站建设推广青海做网站最好的公司
  • 武进网站建设好么软件工程开发流程
  • 快速建站公司做ppt模板网站
  • 西部数码怎么上传网站江苏电信网站备案
  • 做网站网站危险吗创建个人网站的流程
  • 建筑行业官方网站网站入口你明白我的意思吧
  • 南京市建筑工程网站福建企业网站建设
  • 与电子商务网站建设有关实训报告设计网页英文
  • 如何建设一个小型网站杭州做网站公司
  • 个人网站可以做哪些主题制作旅游景点介绍网页
  • 网站短信接口怎么做网站建设中扒站为什么是违法的
  • 有了域名 建设自己的网站建设部监理工程师报名网站
  • 关于网站建设论文的结束语自己有产品怎么网络销售
  • 网站开发后台结构wordpress站长工作
  • 南京网站定制开发公司企业培训课程清单
  • 专业网站设计制合肥作比较好用的免费素材网
  • 镇平微网站开发微官网免费制作平台
  • 怎样在线做网站404网站制造公司
  • 做管理信息的网站莱芜都市网最新招聘信息
  • 渭南网站建设哪家好百度账号注册平台
  • 四川住房和城乡建设厅网站不能进入黄冈crm系统
  • 兰州网站建设公司电话城市建设服务中心网站
  • 从化网站建设服务电子商务平台建设预算
  • 杭州网站建设很 棒cumfoot wordpress
  • qq群推广引流免费网站北京软件公司招聘信息最新
  • 物流网站开发系统论文做网站有什么要求吗
  • 网站备案证书下载网站怎么做电脑系统下载
  • 厦门网站建设 模板建站清河县做网站