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

网络公司建设网站企业网站制作深圳

网络公司建设网站,企业网站制作深圳,网站开发摊销期多少年,广东省自然资源厅1.栈的概念 只允许在固定的一端进行插入和删除,进行数据的插入和数据的删除操作的一端数栈顶,另一端称为栈底。 栈中数据元素遵循后进先出LIFO (Last In First Out) 压栈:栈的插入。 出栈:栈的删除。出入数据在栈顶。 那么下面…

1.栈的概念

只允许在固定的一端进行插入和删除,进行数据的插入和数据的删除操作的一端数栈顶,另一端称为栈底。 栈中数据元素遵循后进先出LIFO (Last In First Out)

压栈:栈的插入。

出栈:栈的删除。出入数据在栈顶。

 

那么下面我们用什么来实现栈呢?

我们来分析一下

这里我们更推荐数组,对于单链表和双向链表插入数据比较频繁,数组则会开辟成倍的空间,所以说数组比较适合栈

 下面我们就来实现一下栈

栈的初始化

 

 栈的销毁

 栈的入栈

 

  出栈

取栈顶元素

 

 出栈后的数据打印

由此可知 栈里面的数据不能被遍历,也不能被访问。

获取栈中的元素个数

 出栈前和出栈后的对比。

 2队列的概念

只允许在一段插入数据,在另一端删除数据,队列具有先进先出FIFO(fast In fast out)

入队列:进行插入数据的一段是队尾。

出队列:进行删除数据的一段是对头。

        

 队列的初始化

 

 下面表示初始化成功了

 队列的插入/入队列

 

 

出队列

所以就不能这么写

 所以代码是这样写的。

 出栈之前

 

 

 取头尾数据

 

队列有效个数元素

队列的销毁

下面是所有的代码

Queue.c

#define _CRT_SECURE_NO_WARNINGS
#include "Queue.h"
//初始化
void QueueInit(Queue* ps)
{assert(ps);ps->phead = ps->ptail = NULL;ps->size = 0;
}
//入队列
void QueuePush(Queue* ps, QDatatyp x)
{assert(ps);//申请新节点QueueNode* newnode = (QueueNode *)malloc(sizeof(QueueNode));if (newnode == NULL){perror(" malloc fail!");exit(1);}newnode->data = x;newnode->next = NULL;//队列为空if (ps->phead == NULL){ps->phead = ps->ptail = newnode;}else{ps->ptail->next = newnode;ps->ptail = newnode;}ps->size++;
}
//队列为空
bool QueueEmpty(Queue* ps)
{assert(ps);return  ps->phead == NULL && ps->ptail == NULL;
}//出队列,队头
void QueuePop(Queue* ps)
{assert(ps);assert(!QueueEmpty(ps));//删除队头元素//当队列为1的时候if (ps->phead == ps->ptail){free(ps->phead);ps->phead = ps->ptail = NULL;}else{QueueNode* newnode = ps->phead->next;free(ps->phead);ps->phead = newnode;}ps->size--;
}
//去队头数据
QDatatyp QueueFront(Queue* ps)
{assert(ps);assert(!QueueEmpty(ps));return  ps->phead->data;}//取队尾数据QDatatyp QueueBack(Queue* ps)
{assert(ps);assert(!QueueEmpty(ps));return  ps->ptail ->data;}//数据有效的元素个数int QueueSize(Queue* ps){assert(ps);return ps->size;}//销毁队列void QueueDestory(Queue* ps){assert(ps);assert(!QueueEmpty(ps));QueueNode* pcur  = ps->phead;while (pcur){QueueNode * next = pcur->next;free(pcur);pcur = next;}ps->phead = ps->ptail = NULL;ps->size = 0;}

Queue.h

#pragma once
#include <stdio.h>
#include <stdbool.h>
#include <assert.h>
#include <stdlib.h>
//定义队列
typedef int QDatatyp;
typedef struct QueueNode
{QDatatyp data;struct QueueNode* next;}QueueNode;typedef struct Queue
{QueueNode * phead;QueueNode * ptail;int size;
}Queue;
void QueueInit(Queue* ps);//入队列
void QueuePush(Queue* ps, QDatatyp x);
//出队列
void QueuePop(Queue* ps);
//队列为空
bool QueueEmpty(Queue* ps);
//取队头数据
QDatatyp   QueueFront(Queue* ps);
//取队尾数据
QDatatyp  QueueBack(Queue* ps);//有效的数据元素个数
int QueueSize(Queue* ps);
//队列的销毁
void QueueDestory(Queue* ps);

 text.c

#define _CRT_SECURE_NO_WARNINGS
#include "Queue.h"
void Queuetext()
{Queue s;//初始化QueueInit(&s);//入队列QueuePush(&s, 1);QueuePush(&s, 2);QueuePush(&s, 3);QueuePush(&s, 4);//出队列/*QueuePop(&s);QueuePop(&s);QueuePop(&s);QueuePop(&s);*/printf("head:%d\n", QueueFront(&s));printf("ptail:%d\n", QueueBack(&s));QueueDestory(&s);}int main()
{Queuetext();return 0;
}

今天写的有点自闭 ,调整心态慢慢写不急。


文章转载自:

http://MzcWfSdp.wLxfj.cn
http://5horqD9K.wLxfj.cn
http://zB237h7n.wLxfj.cn
http://K4BJPfRJ.wLxfj.cn
http://0UldIXoY.wLxfj.cn
http://hvun7feT.wLxfj.cn
http://aDu81ljx.wLxfj.cn
http://ZvVDyeYU.wLxfj.cn
http://L1rjo3q6.wLxfj.cn
http://NmPatwU6.wLxfj.cn
http://bCDob6wg.wLxfj.cn
http://dJLrtvxY.wLxfj.cn
http://eG33NJJR.wLxfj.cn
http://BkGsAvhp.wLxfj.cn
http://T1X9KeVU.wLxfj.cn
http://5UNK9WAt.wLxfj.cn
http://7XBDF0Zg.wLxfj.cn
http://JDuqVl86.wLxfj.cn
http://okBBbb7F.wLxfj.cn
http://71Z8sj6W.wLxfj.cn
http://eMbRgOWs.wLxfj.cn
http://xZ99WTxF.wLxfj.cn
http://Acsbcies.wLxfj.cn
http://vOoAdqFK.wLxfj.cn
http://9UnND1eP.wLxfj.cn
http://AAkB1p8U.wLxfj.cn
http://OTEcncj4.wLxfj.cn
http://EP0kYbsT.wLxfj.cn
http://K9bIpyti.wLxfj.cn
http://zZBpygGx.wLxfj.cn
http://www.dtcms.com/wzjs/744648.html

相关文章:

  • 建大型网站费用模板制作安装
  • 建设市场监督管理网站wordpress支付接口同步回调
  • 神农架网站建设公司一键logo在线生成器
  • 最新网站开发软件莱芜论坛莱芜话题吕金梦
  • 十个免费软件不收费seo主管的seo优化方案
  • 手把手教你实现电商网站开发两学一做专题教育网站
  • 网站开发技术与应用试验报告4西安seo关键字优化
  • 做网站的收获wordpress网站空白
  • 苏州模板建站平台seo基础教程
  • 做好网站外链建设的最新方法蚌埠市重点工程建设管理局网站
  • 做网站是找什么人一个公司只能备案一个网站吗
  • 洛阳网站建设汉狮报价软件开发培训机构推荐
  • 做网站需要准备什么dw网页制作考试题目
  • 建设银行的官方网站seo公司排名
  • 保定网站设计制作需要多少钱wordpress如何备份
  • 点击立即进入正能量网站企业网站有必要做吗?
  • 自己怎样建立个人网站建立网站后怎样收费吗
  • 最好的网站设计开发公司黄山5个最佳景点
  • 哪些网站可以做相册视频下载wordpress很慢
  • 网站建设项目付款方式量身定制
  • 郑州网站建设需要多少钱模板置换
  • 网站备案查询网站开发构建工具
  • 小米手机网站架构贵州建设厅特殊工种考试网站
  • 宁波产品网站设计模板迅雷磁力
  • 网站设计的需求分析建设银行园区公积金管理中心网站
  • 做分销网站南京淘宝网站设计公司
  • 网站优化价格东莞企业网络推广
  • 莞城区小程序app网站开发成都成仁路网站建设
  • 做网站全是别人的链接合肥做企业网站
  • 贵州做网站kuhugz加强理想信念教育主题网站建设