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

网站展示型和营销型有什么区别会员管理系统软件哪个好

网站展示型和营销型有什么区别,会员管理系统软件哪个好,苏州哪个公司做网站好,公司主页图片在计算机科学的世界里#xff0c;数据结构是构建高效算法的基础。栈#xff08;Stack#xff09;和队列#xff08;Queue#xff09;作为两种基本且重要的数据结构#xff0c;在软件开发、算法设计等众多领域都有着广泛的应用。今天#xff0c;我们就来深入探讨一下栈和…        在计算机科学的世界里数据结构是构建高效算法的基础。栈Stack和队列Queue作为两种基本且重要的数据结构在软件开发、算法设计等众多领域都有着广泛的应用。今天我们就来深入探讨一下栈和队列的奥秘。 1.栈后进先出 1.1栈的基本概念和结构 栈是一种遵循后进先出Last In First OutLIFO原则的数据结构。想象一下一摞盘子你只能从最上面拿走盘子也只能把新盘子放在最上面。栈就类似这摞盘子最后放入栈中的元素会最先被取出。 1.2栈的操作 入栈Push将一个元素添加到栈的顶部。这就好比在一摞盘子的最上面再放一个盘子。出栈Pop移除并返回栈顶部的元素。相当于从一摞盘子中拿走最上面的那个盘子。查看栈顶元素Peek返回栈顶部的元素但不移除它。判断栈是否为空isEmpty检查栈中是否有元素。 1.3栈的实现 栈的实现一般可以使用数组或者链表实现相对而言数组的结构实现更优一些因为数组在尾上插入数据的代价比较小。 #include stdio.h #include stdlib.h#define MAX_SIZE 100// 定义栈结构体 typedef struct {int items[MAX_SIZE];int top; } Stack;// 初始化栈 void initStack(Stack* s) {s-top -1; }// 判断栈是否为空 int isEmpty(Stack* s) {return s-top -1; }// 判断栈是否已满 int isFull(Stack* s) {return s-top MAX_SIZE - 1; }// 入栈操作 void push(Stack* s, int item) {if (isFull(s)) {printf(栈已满无法入栈\n);return;}s-items[(s-top)] item; }// 出栈操作 int pop(Stack* s) {if (isEmpty(s)) {printf(栈为空无法出栈\n);return -1;}return s-items[(s-top)--]; }// 查看栈顶元素 int peek(Stack* s) {if (isEmpty(s)) {printf(栈为空无栈顶元素\n);return -1;}return s-items[s-top]; }int main() {Stack s;initStack(s);push(s, 10);push(s, 20);push(s, 30);printf(栈顶元素: %d\n, peek(s));printf(出栈元素: %d\n, pop(s));printf(出栈后栈顶元素: %d\n, peek(s));return 0; } 栈结构体定义了一个包含数组 items 和栈顶指针 top 的结构体 Stack。初始化栈initStack 函数将栈顶指针初始化为 -1表示栈为空。判断栈状态isEmpty 函数判断栈是否为空isFull 函数判断栈是否已满。入栈操作push 函数在栈未满时将元素添加到栈顶。出栈操作pop 函数在栈不为空时移除并返回栈顶元素。查看栈顶元素peek 函数在栈不为空时返回栈顶元素。 2.队列先进后出 2.1队列的概念和结构 2.2队列的操作 入队Enqueue将一个元素添加到队列的尾部。类似于在排队的末尾加入一个人。出队Dequeue移除并返回队列头部的元素。就像排队的第一个人买到票后离开队伍。查看队头元素Peek返回队列头部的元素但不移除它。判断队列是否为空isEmpty检查队列中是否有元素。 2.3队列的实现 #include stdio.h #include stdlib.h#define MAX_SIZE 100// 定义队列结构体 typedef struct {int items[MAX_SIZE];int front;int rear; } Queue;// 初始化队列 void initQueue(Queue *q) {q-front 0;q-rear -1; }// 判断队列是否为空 int isEmptyQueue(Queue *q) {return q-rear q-front; }// 判断队列是否已满 int isFullQueue(Queue *q) {return q-rear MAX_SIZE - 1; }// 入队操作 void enqueue(Queue *q, int item) {if (isFullQueue(q)) {printf(队列已满无法入队\n);return;}q-items[(q-rear)] item; }// 出队操作 int dequeue(Queue *q) {if (isEmptyQueue(q)) {printf(队列为空无法出队\n);return -1;}return q-items[(q-front)]; }// 查看队头元素 int peekQueue(Queue *q) {if (isEmptyQueue(q)) {printf(队列为空无队头元素\n);return -1;}return q-items[q-front]; }int main() {Queue q;initQueue(q);enqueue(q, 10);enqueue(q, 20);enqueue(q, 30);printf(队头元素: %d\n, peekQueue(q));printf(出队元素: %d\n, dequeue(q));printf(出队后队头元素: %d\n, peekQueue(q));return 0; } 队列结构体定义了一个包含数组 items、队头指针 front 和队尾指针 rear 的结构体 Queue。初始化队列initQueue 函数将队头指针初始化为 0队尾指针初始化为 -1。判断队列状态isEmptyQueue 函数判断队列是否为空isFullQueue 函数判断队列是否已满。入队操作enqueue 函数在队列未满时将元素添加到队尾。出队操作dequeue 函数在队列不为空时移除并返回队头元素。查看队头元素peekQueue 函数在队列不为空时返回队头元素。
http://www.hkea.cn/news/14514346/

相关文章:

  • 做外链哪个网站好外贸企业网站改版
  • 个人商城网站源码网店代运营是什么意思
  • 建网站有什么好处网站建设排名公司哪家好
  • 企业网站建设admin百度热搜榜小说排名
  • wifi网络管理番禺厂家关键词优化
  • 服装网站建设教程望野古诗王绩
  • 扬州北京网站建设精美网页赏析
  • 郑州做网站_郑州免费建站房地产开发资质
  • 西安网站优化平台哈尔滨手机网站制作
  • 铁路网站建设杭州景观设计公司排行
  • 跨境电商网站建设流程成都市公服手机网站页面制作
  • 备案的域名做电影网站公司网站建设建议书
  • 灌南县规划局网站理想嘉苑规划建设网站开发怎样手机号验证
  • wordpress改站点标题网上广告怎么推广
  • app和网站哪个有优势手机网站开发例子
  • 怎么用网站做淘宝客网站上常用字体
  • 一个网站的建站流程ppt模板怎么做 下载网站
  • 网站备案平台的服务简介鱼台县建设局网站
  • html电子商务网站模板下载四川省网站建设
  • 有没有专门做二手的网站厦门企业网站制作
  • 网站项目开发流程图cad dwt模板做网站模版
  • 网站开发收费表近三天重大新闻摘抄
  • 广州网站建设clov5r114分类信息网信息发布
  • 在那个网站做任务赚万网个人网站备案查询
  • 制作公司网站的规划最方便在线网站开发
  • 晋城网站建设电话二手商品网站开发背景
  • 网站备案号 放网站网站建设烟台
  • 东莞网站推广软件排版设计教程
  • 找谁做网站优化模板网站好还是自助建站好
  • 企业网站的建设与流程高校健康驿站建设指引