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

网站维护的页面厦门免费网站建设

网站维护的页面,厦门免费网站建设,网站rss怎么做,创新的手机网站建设自己写的栈#xff0c;再让其他函数去调用自己写的栈 typedef int QDataType; typedef struct QueueNode {struct QueueNode* next;//单链表QDataType data;//放数据 }QNode;typedef struct Queue {QNode* phead;//头节点QNode* ptail;//尾节点QDataType size; //统计有多少节… 自己写的栈再让其他函数去调用自己写的栈 typedef int QDataType; typedef struct QueueNode {struct QueueNode* next;//单链表QDataType data;//放数据 }QNode;typedef struct Queue {QNode* phead;//头节点QNode* ptail;//尾节点QDataType size; //统计有多少节点 }Queue;void QueueInit(Queue *pq);//初始化 void QueueDestroy(Queue*pq);//销毁 void QueuePush(Queue*pq,QDataType x);//插入数据 void QueuePop(Queue* pq);//队头出数据就是删队头 QDataType QueueFront(Queue* pq);//返回对头数据 QDataType QueueBack(Queue* pq);//返回队尾数据 int QueueSize(Queue* pq);//返回总的数据个数 bool QueueEmpty(Queue* pq);//是空的返回真void QueueInit(Queue* pq)//初始化 {assert(pq);pq-phead NULL;pq-ptail NULL;pq-size 0; }void QueueDestroy(Queue* pq)//销毁 {assert(pq);//第一个结构体QNode* cur pq-phead;while (cur){QNode* next cur-next;free(cur);cur next;}pq-phead NULL;pq-ptail NULL;pq-size 0; }void QueuePush(Queue* pq, QDataType x)//插入数据 { QNode* newnode (QNode*)malloc(sizeof(QNode));//扩大的是第一个结构体if (newnode NULL){perror(malloc);return;}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; }void QueuePop(Queue* pq)//队头出数据就是删队头 {assert(pq);assert(!QueueEmpty(pq));if (pq-phead-next NULL){free(pq-phead);pq-phead pq-ptail NULL;}else{QNode* 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; }bool QueueEmpty(Queue* pq)//是空的返回真 {assert(pq);return pq-phead NULL pq-ptail NULL; } 1.一个结构体包含俩个队列 typedef struct {Queue q1;//第一个队列Queue q2;//第二个队列 } MyStack; 2.希望创造一个包含两个队列的结构体并且把这样的结构返回去通过MyStack结构体一把molloc两个队列结构体 MyStack* myStackCreate() {MyStack*obj (MyStack*)malloc(sizeof(MyStack));if(obj NULL){perror(molloc);}QueueInit(obj-q1);QueueInit(obj-q2);return obj; } 3.插入数据q1队列有数据就进入if语句把新数据插入q1队列q1队列没数据就把新数据插入q2队列若是两个队列都是空就把新数据随便入一个队列 //插入数据 void myStackPush(MyStack* obj, int x) {if(!QueueEmpty(obj-q1)){QueuePush(obj-q1, x);}else{QueuePush(obj-q2, x); } } 4.用两个队列像一个要像一个栈一样出数据取数据把q1队列的数据倒q2倒到了最后一个元素再去返回和删除元素 //移除并返回栈顶元素 int myStackPop(MyStack* obj) {//空数据队列Queue* PEmptyQ obj-q1;//有数据队列Queue* PNonEmptyQ obj-q2;//假设空数据和有数据队列假设赋值错了if(!QueueEmpty(obj-q1)){PEmptyQ obj-q2;PNonEmptyQ obj-q1;}//倒数据while(QueueSize(PNonEmptyQ) 1){QueuePush(PEmptyQ,QueueFront(PNonEmptyQ));QueuePop(PNonEmptyQ);}int top QueueFront(PNonEmptyQ);//调用了取对头数据函数QueuePop(PNonEmptyQ);//调用了删除队头数据函数return top; } 5.返回栈顶数据就是返回队列的队尾数据 //取栈顶元素 int myStackTop(MyStack* obj) {if(!QueueEmpty(obj-q1)){return QueueBack(obj-q1);//调用了取队尾的数据的函数}else{return QueueBack(obj-q2);//调用了取队尾的数据的函数} } 6.判创建的MyStack结构体q1和q2地址是不是空如果是空的则标题2创建结构体失败了molloc也失败了 bool myStackEmpty(MyStack* obj) {return QueueEmpty(obj-q1) QueueEmpty(obj-q2); } 7.程序结束销毁所有建立的空间避免内存泄漏 //释放数据 void myStackFree(MyStack* obj) {QueueDestroy(obj-q1);QueueDestroy(obj-q2);free(obj); }
http://www.hkea.cn/news/14349176/

相关文章:

  • 网站如何做直播轮播网站如何才能被百度收录
  • 用dw做的网站怎样弄上网上海派虫网站推广软件
  • 网站常用后台路径wordpress 文件权限设置方法
  • 上海网站建设开发哪家好权威的深圳网站推广
  • 四川泸州做网站的公司有哪些百度文库怎么做网站排名
  • 在线观看网站深夜免费可信网站
  • 订餐网站开发流程做的网站显示图片很慢
  • 网站怎么做统计网片点焊机
  • 合肥网站建设哪家好价格杭州网站建设加q479185700
  • 万宁建设局网站国际贸易平台哪个好
  • 专做PPP项目网站好看的企业网站首页
  • 做网站的排名定州网站建设公司
  • 商城网站怎么做优化网站备案信息修改
  • 不备案的网站能打开吗如何填写网站开发验收单
  • app营销网站模板网页制作难吗
  • 华强北ic网站建设公司百度网站怎么做
  • 领卷网站如何做代理学校校园网站建设必要性
  • 网站开发系统论文q网站建设
  • 网站开发毕设设计论文网站推广营销策略
  • 网站跳出率太高无锡网络公司网站建设
  • 建设一个导航网站济南公司建设网站
  • 河南省住房和城乡建设厅网站主页成都网页设计
  • 网站 站外链接驻马店做网站的公司
  • 深圳网站开发工程师第三方商城网站开发
  • 律师建网站上海旧房翻新装修哪家好
  • 专门做婚纱儿童摄影网站wordpress英文版下载地址
  • 为什么网站显示在建设中高密做网站的价位
  • 浙江建设网官方网站哪个视频网站有潮汕做爰视频
  • 工商局网站建设方案怎么用wordpress找东西
  • 网站建设app是什么拍网制作方法图片大全