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

网站地图定位用什么技术做长沙官网优化公司

网站地图定位用什么技术做,长沙官网优化公司,果洛营销网站建设多少钱,武汉seo排名扣费hello! 目录 一、概念与结构 二、队列的实现 Queue.h Queue.c test.c 一、概念与结构 1、概念:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出的特性。 入队列:进行插入操作…

hello!

目录

一、概念与结构

二、队列的实现

Queue.h

Queue.c

test.c


一、概念与结构

1、概念:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出的特性。

入队列:进行插入操作的一端称为队尾

出队列:进行删除操作的一端称为队头

2、队列底层结构的选择

队列也可以数组和链表的结构实现,使⽤链表的结构实现更优⼀些,因为如果使⽤数组的结构,出队列在数组头上出数据,效率会比较低。

二、队列的实现

Queue.h

#pragma once
#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
#include<stdbool.h>//定义队列结点的结构
typedef int QDataType;
typedef struct QueueNode
{QDataType data;struct QueueNode* next;
}QueueNode;//定义队列的结构
typedef struct Queue
{struct QueueNode* phead;struct QueueNode* ptail;int size;   //保存队列有效数据的个数
}Queue;//初始化
void QueueInit(Queue* pq);//入队列
void QueuePush(Queue* pq,QDataType x);//判空
bool QueueEmpty(Queue* pq);//出队列
void QueuePop(Queue* pq);//取队头数据
QDataType QueueFront(Queue* pq);//取队尾数据
QDataType QueueBack(Queue* pq);//队列有效元素个数
int QueueSize(Queue* pq);//销毁队列
void  QueueDestroy(Queue* pq);

Queue.c

#define _CRT_SECURE_NO_WARNINGS 1
#include"Queue.h"//初始化
void QueueInit(Queue* pq)
{assert(pq);pq->phead = pq->ptail = NULL;pq->size = 0;
}//入队列
void QueuePush(Queue* pq, QDataType x)
{assert(pq);//申请新结点QueueNode* newnode = (QueueNode*)malloc(sizeof(QueueNode));if (newnode == NULL){perror("malloc fail!");exit(1);}newnode->data = x;newnode->next = NULL;if (pq->phead == NULL){//若队列为空pq->phead = pq->ptail = newnode;}else{//若队列不为空pq->ptail->next = newnode;pq->ptail = newnode;}pq->size++;
}//判空
bool QueueEmpty(Queue* pq)
{assert(pq);return pq->phead == NULL;
}//出队列
void QueuePop(Queue* pq)
{assert(pq);assert(!QueueEmpty(pq));//若队列里只有一个结点,避免ptail变成野指针if (pq->phead == pq->ptail){free(pq->phead);pq->phead = pq->ptail = NULL;}else{//队列不止一个结点QueueNode* next = pq->phead->next;free(pq->phead);pq->phead = next;}--pq->size;
}//取队头数据
QDataType QueueFront(Queue* pq)
{assert(pq);assert(!QueueEmpty(pq));return pq->phead->data;
}//取队尾数据
QDataType QueueBack(Queue* pq)
{assert(pq);assert(!QueueEmpty(pq));return pq->ptail->data;
}//队列有效元素个数
int QueueSize(Queue* pq)
{assert(pq);return pq->size;
}//销毁队列
void  QueueDestroy(Queue* pq)
{assert(pq);assert(!QueueEmpty(pq));QueueNode* pcur = pq->phead;while (pcur){QueueNode* next = pcur->next;free(pcur);pcur = next;}pq->ptail = pq->phead = NULL;pq->size = 0;
}

test.c

#define _CRT_SECURE_NO_WARNINGS 1
#include"Queue.h"void QueueTest01()
{Queue q;QueueInit(&q);QueuePush(&q, 1);QueuePush(&q, 2);QueuePush(&q, 3);QueuePush(&q, 4);QueuePop(&q);/*QueuePop(&q);QueuePop(&q);QueuePop(&q);*/printf("head:%d\n",QueueFront(&q));printf("tail:%d\n",QueueBack(&q));printf("size:%d\n",QueueSize(&q));QueueDestroy(&q);}int main()
{QueueTest01();return 0;
}

我是云边有个稻草人

期待与你的下一次相遇!

http://www.gaoduandz.com/news/534.html

相关文章:

  • 如何用word做简单的网站百度爱采购平台官网
  • 动态网站开发 实训总结百度的相关搜索
  • 小语种网站怎么做软文营销的作用有哪些
  • 如何建设政府网站评估体系郑州网站推广报价
  • 三水网站建设北京seo网站设计
  • 手机网站前端用什么做seo外链工具下载
  • 珠海做网站专业公司手机优化专家下载
  • 海外学校网站建设网络外贸推广
  • 网站推广软件有哪些百度关键词推广条件
  • 怎么做网站推广的步骤百度推广代理开户
  • 给网站做视频怎么赚钱百度置顶广告多少钱
  • 织梦网站织梦做英文版的麒麟seo外推软件
  • 如何创建自己的个人网站湖南企业竞价优化首选
  • wordpress博客排行榜seo优化推广技巧
  • 襄阳网站建设多少钱淘宝seo培训
  • 设计网站建站百度网站推广怎么收费
  • 深圳网站建设联系方式谷歌搜索为什么用不了
  • 泊头市网站制作公司软件商店安装
  • 帝国网站单页做301百度竞价排名魏则西事件分析
  • 益阳网站建设方案百度推广怎么登录
  • 如何做网站本地服务器免费crm客户管理系统
  • 本地建设网站怎么查看后台账号国内免费b2b网站大全
  • 代理服务器ip国外常用的seo工具
  • 网站建设视频国内电商平台有哪些
  • 郑州网站建设最独特seo技巧分享
  • 创业做网站 优帮云百度搜索提交入口
  • z blog网站怎么做描述南京seo外包
  • 凡科做的网站宽带营销案例100例
  • 网站开发方案及报价单小程序开发
  • 有了网站源码怎么做网页软文广告经典案例300