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

c mvc网站做404有限责任公司如何承担债务

c mvc网站做404,有限责任公司如何承担债务,磁器口网站建设,农业电商网站有哪些题目详情#xff1a; 思路#xff1a;1.定义两个队列用于存储栈的数据#xff0c;其中一个为空。 2.对我们定义的栈进行入数据#xff0c;就相当于对不为空的队列进行入数据。 3.对我们定义的栈进行删除#xff0c;相当于取出不为空的队列中的数据放到为空的队列中#x…题目详情 思路1.定义两个队列用于存储栈的数据其中一个为空。           2.对我们定义的栈进行入数据就相当于对不为空的队列进行入数据。           3.对我们定义的栈进行删除相当于取出不为空的队列中的数据放到为空的队列中直到此时只剩下一个数据对剩下的数据进行取出后删除。也就相当于对当前的栈进行删除。对于栈的顶删相当于对队列的尾删         3.返回栈的顶部元素         4.销毁栈 注意用c语言实现队列没法直接引用这里需要自己创建一个队列再完成上述操作。如果还不会队列的小伙伴可以看看我的这篇博客数据结构--队列【详解】~(˶‾᷄ꈊ‾᷅˵)~-CSDN博客 队列的实现 typedef int QDataType; typedef struct QueueNode {//队列的定义与声明struct QueueNode* next;QDataType data; }QNode; //创建一个结构体用于存储队列头尾指针 typedef struct Queue {QNode* head;QNode* tail; }Queue; //初始化队列 void QueueInit(Queue* pq) {assert(pq);pq-head pq-tail NULL; } //摧毁队列 void QueueDestory(Queue* pq) {assert(pq);QNode* cur pq-head;while (cur){//存储下一个节点的指针防止找不到和野指针的出现QNode* next cur-next;free(cur);cur next;}pq-head pq-tail NULL; }// 队尾入 void QueuePush(Queue* pq, QDataType x) {assert(pq);//为队列开辟一个新节点QNode* newnode (QNode*)malloc(sizeof(QNode));if (newnode NULL){printf(malloc fail\n);exit(-1);}newnode-data x;newnode-next NULL; //若第一个节点为空则head和tail指向第一个节点if (pq-tail NULL){pq-head pq-tail newnode;}//如果不是空就让尾指针指向新节点并移动尾指针方便下一次插入else{pq-tail-next newnode;pq-tail newnode;} }// 队头出 void QueuePop(Queue* pq) {assert(pq);assert(pq-head);// 1、一个直接释放第一个节点的内存// 2、多个要记得保存第一个节点的下一个节点的位置防止找不到if (pq-head-next NULL){free(pq-head);pq-head pq-tail NULL;}else{QNode* next pq-head-next;free(pq-head);pq-head next;} }//返回队头节点的数据 QDataType QueueFront(Queue* pq) {assert(pq);assert(pq-head);return pq-head-data; } //返回队尾节点的数据 QDataType QueueBack(Queue* pq) {assert(pq);assert(pq-head);return pq-tail-data; } //返回队列的大小 int QueueSize(Queue* pq) {assert(pq);int size 0;//这里用cur记录节点的个数QNode* cur pq-head;while (cur){size;cur cur-next;}return size; } //判断节点是否为空 bool QueueEmpty(Queue* pq) {assert(pq);return pq-head NULL; } 用队列实现栈的函数实现 //定义一个结构体用于存放两个队列 typedef struct {Queue q1;Queue q2; } MyStack; //用队列创造栈 MyStack* myStackCreate() {//用ps开辟空间作为栈存储数据MyStack* ps(MyStack*)malloc(sizeof(MyStack));if(psNULL){printf(malloc fail\n);exit(-1);}QueueInit(ps-q1);QueueInit(ps-q2);return ps; } //用队列入栈 void myStackPush(MyStack* obj, int x) {if(!QueueEmpty(obj-q1))//选择不为空的那个队列入{QueuePush(obj-q1,x);}else{QueuePush(obj-q2,x);} } //用队列进行出栈操作 int myStackPop(MyStack* obj) {Queue* emptyQobj-q1;//将不为空的队列的数据转移到为空的队列直到只剩一个Queue* nonemptyQobj-q2;if(!QueueEmpty(obj-q1)){emptyQobj-q2;nonemptyQobj-q1;}while(QueueSize(nonemptyQ)1){QueuePush(emptyQ,QueueFront(nonemptyQ));QueuePop(nonemptyQ);}int topQueueFront(nonemptyQ);QueuePop(nonemptyQ);return top; } //返回栈顶的元素即返回不为空的队列的尾元素 int myStackTop(MyStack* obj) {if(!QueueEmpty(obj-q1)){return QueueBack(obj-q1);}else{return QueueBack(obj-q2);} } //判断栈是否为空 bool myStackEmpty(MyStack* obj) {return QueueEmpty(obj-q1) QueueEmpty(obj-q2); } //摧毁创建的栈 void myStackFree(MyStack* obj) {QueueDestory(obj-q1);QueueDestory(obj-q2);free(obj); }注意摧毁栈时要先摧毁obj下所对应的队列再进行free(obj)。如果先free(obj),就无法找到对应的队列了 完整代码  typedef int QDataType; typedef struct QueueNode {//队列的定义与声明struct QueueNode* next;QDataType data; }QNode; //创建一个结构体用于存储队列头尾指针 typedef struct Queue {QNode* head;QNode* tail; }Queue; //初始化队列 void QueueInit(Queue* pq) {assert(pq);pq-head pq-tail NULL; } //摧毁队列 void QueueDestory(Queue* pq) {assert(pq);QNode* cur pq-head;while (cur){//存储下一个节点的指针防止找不到和野指针的出现QNode* next cur-next;free(cur);cur next;}pq-head pq-tail NULL; }// 队尾入 void QueuePush(Queue* pq, QDataType x) {assert(pq);//为队列开辟一个新节点QNode* newnode (QNode*)malloc(sizeof(QNode));if (newnode NULL){printf(malloc fail\n);exit(-1);}newnode-data x;newnode-next NULL; //若第一个节点为空则head和tail指向第一个节点if (pq-tail NULL){pq-head pq-tail newnode;}//如果不是空就让尾指针指向新节点并移动尾指针方便下一次插入else{pq-tail-next newnode;pq-tail newnode;} }// 队头出 void QueuePop(Queue* pq) {assert(pq);assert(pq-head);// 1、一个直接释放第一个节点的内存// 2、多个要记得保存第一个节点的下一个节点的位置防止找不到if (pq-head-next NULL){free(pq-head);pq-head pq-tail NULL;}else{QNode* next pq-head-next;free(pq-head);pq-head next;} }//返回队头节点的数据 QDataType QueueFront(Queue* pq) {assert(pq);assert(pq-head);return pq-head-data; } //返回队尾节点的数据 QDataType QueueBack(Queue* pq) {assert(pq);assert(pq-head);return pq-tail-data; } //返回队列的大小 int QueueSize(Queue* pq) {assert(pq);int size 0;//这里用cur记录节点的个数QNode* cur pq-head;while (cur){size;cur cur-next;}return size; } //判断节点是否为空 bool QueueEmpty(Queue* pq) {assert(pq);return pq-head NULL; } //定义一个结构体用于存放两个队列 typedef struct {Queue q1;Queue q2; } MyStack; //用队列创造栈 MyStack* myStackCreate() {//用ps开辟空间作为栈存储数据MyStack* ps(MyStack*)malloc(sizeof(MyStack));if(psNULL){printf(malloc fail\n);exit(-1);}QueueInit(ps-q1);QueueInit(ps-q2);return ps; } //用队列入栈 void myStackPush(MyStack* obj, int x) {if(!QueueEmpty(obj-q1))//选择不为空的那个队列入{QueuePush(obj-q1,x);}else{QueuePush(obj-q2,x);} } //用队列进行出栈操作 int myStackPop(MyStack* obj) {Queue* emptyQobj-q1;//将不为空的队列的数据转移到为空的队列直到只剩一个Queue* nonemptyQobj-q2;if(!QueueEmpty(obj-q1)){emptyQobj-q2;nonemptyQobj-q1;}while(QueueSize(nonemptyQ)1){QueuePush(emptyQ,QueueFront(nonemptyQ));QueuePop(nonemptyQ);}int topQueueFront(nonemptyQ);QueuePop(nonemptyQ);return top; } //返回栈顶的元素即返回不为空的队列的尾元素 int myStackTop(MyStack* obj) {if(!QueueEmpty(obj-q1)){return QueueBack(obj-q1);}else{return QueueBack(obj-q2);} } //判断栈是否为空 bool myStackEmpty(MyStack* obj) {return QueueEmpty(obj-q1) QueueEmpty(obj-q2); } //摧毁创建的栈 void myStackFree(MyStack* obj) {QueueDestory(obj-q1);QueueDestory(obj-q2);free(obj); }博客到这里也是结束了喜欢的小伙伴可以点赞加关注支持下博主这对我真的很重要~~
http://www.pierceye.com/news/655326/

相关文章:

  • 哈尔滨网站建设可信赖惠州网站制作专业
  • 中法电商网站建设石家庄手机网站建站
  • 北京pk10做号网站官方网站怎么写
  • 半路出家去学计算机网站开发团购做的好的网站
  • 没有网站怎么做CPC模板网站一天建好
  • 淘客网站模版北京网站优化指导
  • 网站域名更改后怎么做映射石家庄新闻主持人
  • 网站报404错误怎么解决办法禹城市建设局网站
  • asp网站建设运用的技术哪里有做商城的网站
  • 沈阳的网站制作公司哪家好七七鱼竞价托管
  • 网站如何做流量赚钱地推公司
  • 众筹网站建设需要多少资金知己图书网站建设策划书
  • 开源房产网站源码网站建设需要数学
  • 网站建设云技术公司推荐企业内部管理软件
  • 网站建设与维护案列北京梵客装饰
  • 网站建设电销话术海口h5建站
  • 网站建设怎么搭建服务器梧州本地网站
  • 佛山哪个做网站的好天津建设工程信息网怎么报名的
  • 专注扬中网站建设无锡免费建设网站
  • 中国建设银行门户网站企业wordpress如何禁止注册
  • 网站 模块wordpress极简风
  • 驻马店网站制作建筑施工特种证书查询入口官网
  • 四川网站建设公司电话网站的空间和域名备案
  • 海南网站建设方案django和WordPress哪个好
  • 已经有域名如何做网站手机优化加速有什么用
  • ps手机网站制作wordpress 嵌入pdf
  • 免费微网站建站系统源码网站登录流程
  • 有声直播网站建设做网站互联网公司排名
  • 如何判断网站是用什么程序做的网站建设岗位能力评估表
  • 怀来住房和城乡建设局网站可以下载的建站网站