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

做商城网站系统腾讯企业邮箱免费注册入口

做商城网站系统,腾讯企业邮箱免费注册入口,用jsp加点mvc做网站怎么样,贵州新农村建设专业网站1.队列的概念以及结构 队列#xff1a;只允许在一端进行插入数据操作#xff0c;在另一端进行删除数据操作的特殊线性表#xff0c;队列具有先进先出FIFo(Frist in Frist out)的特性 入队列#xff1a;进行插入才操作的一端称为队尾 出队列#xff1a;进行删除操作的一…1.队列的概念以及结构 队列只允许在一端进行插入数据操作在另一端进行删除数据操作的特殊线性表队列具有先进先出FIFo(Frist in Frist out)的特性 入队列进行插入才操作的一端称为队尾 出队列进行删除操作的一端称为队头 2.队列的实现 队列也可以使用数组和链表的结构实现使用链表的结构实现更优一些因为如果使用数组的结构出队列在数组头上出数据效率会很低 队列常见的基本操作 //初始化 void QueueInit(Queue* pq); //清空队列成员 void QueueDestroy(Queue* pq); //队尾插入元素 void QueuePush(Queue* pq, QDataType x); //删除队队头元素队列先进先出 void QueuePop(Queue* pq); //获取队头元素 int QueueFront(Queue * pq); //获取队尾元素 int QueueBack(Queue* pq); //获取队列中有效与元素个数 int QueueSize(Queue* pq); //查看队列是否为空 bool QueueEmpty(Queue* pq); 每个功能的实现以及解释 实现队列这里我们使用的是动态顺序表 -1.初始化队列 //初始化 void QueueInit(Queue* pq) {assert(pq);pq-head pq-tail NULL;pq-size 0; } -2.清空队列成员 //清空队列成员 void QueueDestroy(Queue* pq) {assert(pq);QNode* cur pq-head;//QNode* cur pq-head-next;while (cur){/*free(pq-head);pq-head cur;cur cur-next;*/QNode* next cur-next;free(cur);cur next;}pq-head pq-tail NULL;pq-size 0; } -3.队尾插入元素 //队尾插入元素 void QueuePush(Queue* pq, QDataType x) {QNode* newnode (QNode*)malloc(sizeof(QNode));if (NULL newnode){perror(QueuePsuh::malloc);return;}newnode-data x;newnode-next NULL;if (pq-head NULL){assert(pq-tail NULL);pq-head pq-tail newnode;}else{pq-tail-next newnode;pq-tail newnode;}pq-size; } -4.删除队队头元素队列先进先出 //删除队列成员队列先进先出 void QueuePop(Queue* pq) {assert(pq);assert(pq-head ! NULL);//第一种方法//Queue* cur pq-head;//if (cur-next NULL)//{// free(cur);// pq-head pq-tail NULL;//}/*else{pq-head cur-next;free(cur);cur NULL;}*///第二种方法QNode* next pq-head-next;free(pq-head);pq-head next;if (pq-head NULL){pq-tail NULL;}pq-size--; } -5.获取队头元素 //获取队头成员 int QueueFront(Queue* pq) {assert(pq);assert(pq-head);return pq-head-data; } -6.获取队尾元素 //获取队尾成员 int QueueBack(Queue* pq) {assert(pq);assert(!QueueEmpty(pq));return pq-tail-data; } -7.获取队列中有效元素个数 //获取队列中有效元素个数 int QueueSize(Queue* pq) {assert(pq);return pq-size; } -8.查看队列是否为空 //查看队列是否为空 bool QueueEmpty(Queue* pq) {assert(pq);return pq-size 0; //pq-head NULL pq-tail NULL } 3.完整代码 Queue.h #define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h #include stdbool.h #include assert.h #include stdlib.htypedef int QDataType;typedef struct QListNode {struct QListNode* next;QDataType data; }QNode;typedef struct Queue {QNode* head;QNode* tail;QDataType size; }Queue;//初始化 void QueueInit(Queue* pq); //清空队列成员 void QueueDestroy(Queue* pq); //队尾插入队列 void QueuePush(Queue* pq, QDataType x); //删除队队头元素队列先进先出 void QueuePop(Queue* pq); //获取队头元素 int QueueFront(Queue * pq); //获取队尾元素 int QueueBack(Queue* pq); //获取队列中有效与元素个数 int QueueSize(Queue* pq); //查看队列是否为空 bool QueueEmpty(Queue* pq); Queue.c #include queue.h//初始化 void QueueInit(Queue* pq) {assert(pq);pq-head pq-tail NULL;pq-size 0; }//销毁队列 void QueueDestroy(Queue* pq) {assert(pq);QNode* cur pq-head;//QNode* cur pq-head-next;while (cur){/*free(pq-head);pq-head cur;cur cur-next;*/QNode* next cur-next;free(cur);cur next;}pq-head pq-tail NULL;pq-size 0; }//插入队列成员 void QueuePush(Queue* pq, QDataType x) {QNode* newnode (QNode*)malloc(sizeof(QNode));if (NULL newnode){perror(QueuePsuh::malloc);return;}newnode-data x;newnode-next NULL;if (pq-head NULL){assert(pq-tail NULL);pq-head pq-tail newnode;}else{pq-tail-next newnode;pq-tail newnode;}pq-size; }//删除队列成员队列先进先出 void QueuePop(Queue* pq) {assert(pq);assert(pq-head ! NULL);//Queue* cur pq-head;//if (cur-next NULL)//{// free(cur);// pq-head pq-tail NULL;//}/*else{pq-head cur-next;free(cur);cur NULL;}*/QNode* next pq-head-next;free(pq-head);pq-head next;if (pq-head NULL){pq-tail NULL;}pq-size--; }//获取队头成员 int QueueFront(Queue* pq) {assert(pq);assert(pq-head);return pq-head-data; }//获取队列中有效元素个数 int QueueSize(Queue* pq) {assert(pq);return pq-size; }//获取队尾成员 int QueueBack(Queue* pq) {assert(pq);assert(!QueueEmpty(pq));return pq-tail-data; }//查看队列是否为空 bool QueueEmpty(Queue* pq) {assert(pq);return pq-size 0; //pq-head NULL pq-tail NULL } test.c #include queue.hint main() {Queue st;QueueInit(st);QueuePush(st, 1);QueuePush(st, 2);QueuePush(st, 3);QueuePush(st, 4);QueuePush(st, 5);while (!QueueEmpty(st)){printf(%d , QueueFront(st));QueuePop(st);}printf(\n);return 0; } 测试结果:
http://www.hkea.cn/news/14529054/

相关文章:

  • 哈尔滨快速建站合作云虚拟主机可以做视频网站不
  • 工信部 网站 邮箱汉口北做网站
  • 长沙有哪个学校可以学网站建设网站底部设计
  • 网站程序开发制作十大品牌珠宝首饰网站模板
  • 建立网站的平台电商平台开发公司
  • 即时聊天wordpress手机app惠州百度seo
  • 苏州优秀网站设计公司网站策划网
  • 创建网站超市甘肃搜索引擎网络优化
  • 改版网站收费百度seo自然优化
  • 邯郸网站建设信息保定建站方案
  • 中国信誉建设网站客户端建站
  • aspx网站 整站抓取中国建设银官方网站
  • 申请建设部门网站的报告做打鱼网站犯法不
  • 中天钢铁 网站建设中国建设银行上海市分行网站
  • 网站主体负责人和网站负责人wordpress背景音乐插件
  • 怎样免费建个人网站做印刷厂网站
  • 品牌网站建设公司哪家好做网站原型图用什么软件
  • xml网站模板网页建立站点
  • 吉浦网站建设汕头网站建设模板制作
  • 可以做免费广告的网站网站开发支付宝二维码支付
  • 拼多多网站策划书企业注册信息查询网站
  • 上海网站建设seo1888如何app开发制作
  • 网站接入服务单位名称做柜子好的设计网站
  • 临沂做网站公司哪家好凡科快图官网在线制作
  • 网站建设重庆招聘一级工程造价师
  • 一个具体网站的seo优化郴州市人力资源考试网官网
  • 食品网站建设目的青岛建网站多少钱
  • 租好服务器咋做网站呢wordpress 登录框
  • 最权威的网站推广公司做商城网站如何寻找货源
  • 医药招商网站大全企业信息公开网查询