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

哪个网站做欧洲旅游攻略好网页制作工具软件有哪些

哪个网站做欧洲旅游攻略好,网页制作工具软件有哪些,网站租用服务器费用,怎么自己做音乐网站【数据结构】栈和队列 一#xff1a; 栈1.栈的概念及和结构2. 栈的实用3. 栈接口实现 二#xff1a; 队列1. 队列的概念和结构2. 队列的实用3. 队列接口实现 三#xff1a;扩展 一#xff1a; 栈 1.栈的概念及和结构 栈#xff1a;一种特殊的线性表#xff0c;其只允许… 【数据结构】栈和队列 一 栈1.栈的概念及和结构2. 栈的实用3. 栈接口实现 二 队列1. 队列的概念和结构2. 队列的实用3. 队列接口实现 三扩展 一 栈 1.栈的概念及和结构 栈一种特殊的线性表其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶另一端称为栈底。栈中的数据元素遵守后进先出LIFOLast In First Out的原则。   压栈栈的插入操作叫做进栈/压栈/入栈入数据在栈顶。 出栈栈的删除操作叫做出栈。出数据也在栈顶。   2. 栈的实用 栈的实现一般可以使用数组或者链表实现相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小。 3. 栈接口实现 Stach.h: // 下面是定长的静态栈的结构实际中一般不实用所以我们主要实现下面的支持动态增长的栈 typedef int STDataType; #define N 10 typedef struct Stack {STDataType _a[N];int _top; // 栈顶 }Stack;// 支持动态增长的栈 typedef int STDataType; typedef struct Stack {STDataType* _a;int _top; // 栈顶int _capacity; // 容量 }Stack; // 初始化栈 void StInit(Stack* ps); // 入栈 void StPush(Stack* ps, STDataType data); // 出栈 void StPop(Stack* ps); // 获取栈顶元素 STDataType StTop(Stack* ps); // 获取栈中有效元素个数 int StSize(Stack* ps); // 检测栈是否为空如果为空返回非零结果如果不为空返回0 int StEmpty(Stack* ps); // 销毁栈 void StDestroy(Stack* ps)Stack.c: #include Stack.hvoid STInit(ST* ps) {assert(ps);ps-a NULL;ps-capacity 0;ps-top 0;//top指向栈顶元素的下一个位置 }void STDestory(ST* ps) {assert(ps);free(ps-a);ps-a NULL;ps-capacity ps-top 0; }void STPush(ST* ps, STDateType x) {assert(ps);if (ps-top ps-capacity){int newCapacity ps-capacity 0 ? 4 : ps-capacity * 2;STDateType* tmp (STDateType*)realloc(ps-a,sizeof(STDateType) * newCapacity);if (tmp NULL){perror(malloc fail);exit(-1);}//创建成功ps-a tmp;ps-capacity newCapacity;}ps-a[ps-top] x;ps-top; }void STPop(ST* ps) {assert(ps);assert(ps-top 0);ps-top--; }STDateType STTop(ST* ps) {assert(ps);assert(ps-top 0);return ps-a[ps-top - 1]; }int STSize(ST* ps) {return ps-top; }bool STEmpty(ST* ps) {assert(ps);return ps-top 0; }二 队列 1. 队列的概念和结构 队列只允许在一端进行插入数据操作在另一端进行删除数据操作的特殊线性表队列具有先进先出FIFO(First In First Out)的原则。   入队列进行插入操作的一端称为队尾 出队列进行删除操作的一端称为队头   2. 队列的实用 队列也可以数组和链表的结构实现使用链表的结构实现更优一些因为如果使用数组的结构出队列在数组头上出数据效率会比较低。 3. 队列接口实现 Queue.h: #include stdio.h #include assert.h #include stdlib.h #include stdbool.htypedef int QDataType; typedef struct QueueNode {struct QueueNode* next;QDataType data; }QNode;//为了解决传二级指针的问题有两种方法 //第一种是传哨兵位另一种就是如下在封装一个结构体 typedef struct Queue {QNode* head;QNode* tail;int size; }Que;// 初始化队列 void QueueInit(Que* pq); // 队尾入队列 void QueuePush(Que* pq, QDataType x); // 队头出队列 void QueuePop(Que* pq); // 获取队列头部元素 QDataType QueueFront(Que* pq); // 获取队列队尾元素 QDataType QueueBack(Que* pq); // 获取队列中有效元素个数 int QueueSize(Que* pq); // 检测队列是否为空如果为空返回1如果非空返回0 bool QueueEmpty(Que* pq); // 销毁队列 void QueueDestroy(Que* pq);Queue.c: #include Stack.hvoid STInit(ST* ps) {assert(ps);ps-a NULL;ps-capacity 0;ps-top 0;//top指向栈顶元素的下一个位置 }void STDestory(ST* ps) {assert(ps);free(ps-a);ps-a NULL;ps-capacity ps-top 0; }void STPush(ST* ps, STDateType x) {assert(ps);if (ps-top ps-capacity){int newCapacity ps-capacity 0 ? 4 : ps-capacity * 2;STDateType* tmp (STDateType*)realloc(ps-a,sizeof(STDateType) * newCapacity);if (tmp NULL){perror(malloc fail);exit(-1);}//创建成功ps-a tmp;ps-capacity newCapacity;}ps-a[ps-top] x;ps-top; }void STPop(ST* ps) {assert(ps);assert(ps-top 0);ps-top--; }STDateType STTop(ST* ps) {assert(ps);assert(ps-top 0);return ps-a[ps-top - 1]; }int STSize(ST* ps) {return ps-top; }bool STEmpty(ST* ps) {assert(ps);return ps-top 0; }三扩展 实际中我们有时还会使用一种队列叫循环队列。如操作系统课程讲解生产者消费者模型时可以就会使用循环队列。环形队列可以使用数组实现也可以使用循环链表实现。
http://www.huolong8.cn/news/50385/

相关文章:

  • 信融营销型网站建设北京传媒公司
  • 政协网站建设方案天元建设集团有限公司 刘洪顺
  • 做商业网站要交税吗广州seo推广优化
  • 网站建设管理制度购物网站的设计与实现论文
  • 博客网站的建设手机传奇手游发布网站
  • 淄博桓台学校网站建设哪家好网站建设进度规划
  • 网站项目功能需求清单wordpress做的学校网站
  • 清溪做网站学成在线网页制作
  • 网站配色案例分析买淘宝店
  • 怎么拥有网站的所有权简述从网站规划的角度常见的网站模式
  • 长沙网页制作模板的网站做展厅 参考什么网站
  • 安平做网站的电话wordpress悬浮音乐插件
  • 网站设计的价格wordpress网页加入音乐入口
  • 广西建设执业注册中心中心网站网站开发绑定qq
  • 策划电子商务网站建设规划书请问那个网站做推广好点
  • 假山网站建设建设项目自主验收公示的网站
  • 网站建设播放vr视频教程大连旅顺港
  • 网站建设与管理报告书北京网站设计公司yy成都柚米科技15
  • 网站建设培训学校wordpress采集查卷
  • seo刷网站wordpress+重装教程
  • 贸易公司自建免费网站驻马店网站建设价格
  • 数据库作业代做网站在虚拟主机上安装wordpress
  • 百度指数网站seo综合查询使用vsping工具
  • 网站建设创建做网站的公司都很小吗
  • 做外贸公司网站怎么做中天控股集团有限公司
  • 大气建站工作室网站源码江苏苏州昨天出大事
  • 深圳住房和建设局网站哪里预约wordpress返回500
  • 长宁区网站建设开中国域名注册中心
  • 织梦网站调节网站温州企业网站建设要多少钱
  • 接网站开发的公司电话做公司官网步骤