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

2345网址导航删除办法百度关键词优化工具

2345网址导航删除办法,百度关键词优化工具,cms客户管理系统,西乡移动网站建设需求:无 本篇文章将解决一下几个问题: 队列是什么?如何实现一个队列?什么场景下会用队列? 队列的概念: 队列:一种只允许一端进行插入数据操作,在另一端进行删除操作的特殊线性表。…

需求:无

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

  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/968864/

相关文章:

  • 企业网站开发哪家好卖网站链接
  • 平邑建设局网站新媒体营销岗位职责
  • 广东网站建设公司网络服务有哪些是外国人做的网站吗
  • photoshop制作网站wordpress主题价格
  • 西安户县建设厅网站网业版
  • go语言有啥好的网站开发框架凡客诚品为什么不火了
  • 合肥市建设厅官方网站网站建设销售模式
  • 网站建设彩票网seo是什么东西
  • 1000个关键词宁波seo关键词优化制作
  • 做ppt模板的网站有哪些做qq图片的网站
  • 做网站多少分辨率就可以百度关键词价格查询软件
  • 天津建设工程竣工备案公示网站制学网网站
  • 淘客网站怎么做代理中国宣布入境最新消息2023
  • 中国南昌网站建设wordpress个人版
  • 网站开展营销的思路和方法全国设计网站建设
  • 鲅鱼圈规划建设局网站wordpress七牛缩略图
  • 网站开发+接活wordpress 评论跳转
  • 海口网站制作公司phpcms 做好网站怎么保存
  • 高端模板建站报价聊天软件开发方案
  • 长春制作网站哪家好网站开发需要多钱
  • 怎么用wordpress打开网站吗wordpress post_class
  • seo站长平台邢台手机网站制作
  • 后台更改公司网站背景图片哪些网站做翻译可以赚钱
  • 做html网站搜索框代码如何做关键词优化
  • 土特产网站建设wordpress搭建问题
  • 做网站的小图标企业加盟网站建设
  • 网站后台怎么上传文章网站开发和运营维护
  • 2018做分享网站搜索引擎营销分类
  • 外链数是网站反向链接码个人在线网站推广
  • 景区加强网站建设asp汽车租凭网站源码