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

wordpress做商城网站建一个自己的网站

wordpress做商城网站,建一个自己的网站,wordpress doc,百度推广费用一天多少钱12 栈、队列、二叉树 目录 12 栈、队列、二叉树 一、栈、队列、二叉树是什么? 二、栈 1. 特点:先进后出 -- 有底的盒子 2. 使用场景:函数调用 -- 中断机制 3. 实现栈的形式: 三、队列 1. 特点:先进先出 -- 水…

12 栈、队列、二叉树

目录

12 栈、队列、二叉树

一、栈、队列、二叉树是什么?

二、栈

1. 特点:先进后出 -- 有底的盒子

2. 使用场景:函数调用 -- 中断机制

3. 实现栈的形式:

三、队列

1. 特点:先进先出 -- 水管

2. 使用场景:消息队列(MQTT)

3. 实现队列的形式:

四、二叉树 -- 了解

1. 树形结构 -- 链式结构 -- 族谱

2. 使用场景:文件系统


一、栈、队列、二叉树是什么?

        -- 数据的一种存储结构         -- 保存数据

二、栈

1. 特点:先进后出         -- 有底的盒子

2. 使用场景:函数调用         -- 中断机制

3. 实现栈的形式:

(1)线性栈:数组

alt text

(2)链式栈:

        -- 链表的头插法         --因为链表是从头开始遍历的。

#include "stdio.h"
#include "string.h"
#include "stdlib.h"struct stack
{int data[5];  //栈存储空间int *ptemp;     //栈指针int *pstart;    //栈底int *pend;    //栈顶};struct stack * init_stack();
void push_stack(struct stack *p);
void pup_stack(struct stack *p);int main(int argc, char const *argv[])
{struct stack *p = init_stack();while (1){printf("*******栈操作********\n");printf("1.入栈 2.出栈 3.退出\n");printf("**********************\n");printf("请选择:");int n = 0;scanf("%d", &n);switch (n){case 1:printf("--->入栈\n");push_stack(p);break;case 2:printf("--->出栈\n");pup_stack(p);break;case 3:printf("--->退出\n");return 0;default:printf("输入错误,请重新输入!\n");break;}}return 0;
}struct stack * init_stack() //初始化栈
{//开辟栈空间struct stack *p = (struct stack *)malloc(sizeof(struct stack));//初始化//栈的存储空间memset(p->data,0,sizeof(p->data));//栈底p->pstart = p->data; //数组的首地址//栈顶p->pend = p->data + sizeof(p->data) / sizeof(p->data[0])-1;//首地址+偏移量(长度-1)//栈指针p->ptemp = p->pstart;return p;
}void push_stack(struct stack *p)
{//判断是否栈满if(p->ptemp == p->pend+1)   //因为栈指针指向下一个可以存储的空间{printf("栈已满,请联系管理员!\n");return;}printf("请输入您要保存的数据:");scanf("%d",p->ptemp);   //数据保存在栈指针指向的位置//栈指针指向下一个可以存储数据的空间p->ptemp++;printf("入栈成功!\n");
}void pup_stack(struct stack *p)
{//判断是否栈空if(p->ptemp == p->pstart){printf("栈空,请先入栈数据!\n");return;}//栈指针回到有数据的空间p->ptemp --;int num = *p->ptemp;printf("您出栈的数据是:%d\n",num);}

三、队列

1. 特点:先进先出 -- 水管

2. 使用场景:消息队列(MQTT)

3. 实现队列的形式:

(1)线性队列:数组

alt text

(2)链式队列:

                -- 链表的尾插法

#include "stdio.h"
#include "stdlib.h"
#include "string.h"struct queue
{int data[5];  // 队存储空间int *pstart;  // 队底int *pend;    // 队顶int *pin;   // 入队指针int *pout;  // 出队指针int count;  // 计数器    因为入队和出队是循环的,无法判断栈满,栈空int total; //入队总数
};struct queue * init_queue();
void push_queue(struct queue *p);
void pup_queue(struct queue *p);int main(int argc, char const *argv[])
{struct queue *p=init_queue();while (1){printf("*******队操作********\n");printf("1.入队 2.出队 3.退出\n");printf("**********************\n");printf("请选择:");int n = 0;scanf("%d", &n);switch (n){case 1:printf("--->入队\n");push_queue(p);break;case 2:printf("--->出队\n");pup_queue(p);break;case 3:printf("--->退出\n");return 0;default:printf("输入错误,请重新输入!\n");return 0;}}return 0;
}struct queue * init_queue()
{//开辟队空间struct queue *p = (struct queue *)malloc(sizeof(struct queue));//初始化//队的存储空间memset(p->data,0,sizeof(p->data));//队底p->pstart = p->data;//队顶p->pend = p->data + sizeof(p->data) / sizeof(p->data[0])-1;//入队指针p->pin = p->pstart;//出队指针 p->pout = p->pstart;//计数器p->count = 0;//入队总数p->total = sizeof(p->data) / sizeof(p->data[0]);return p;
}void push_queue(struct queue *p)
{//判断是否队满if(p->count == p->total){printf("队已满,请联系管理员!\n");return;}printf("请输入您要保存的数据:");scanf("%d",p->pin);//队指针指向下一个可以存储数据的空间p->pin++;//计数器累加p->count ++;//循环入队if(p->pin == p->pend+1) //开始循环{p->pin = p->pstart;}printf("入队成功!\n");
}void pup_queue(struct queue *p)
{//判断是都队空if(p->count == 0){printf("队空,请先入队数据!\n");return;}//出队int num = *p->pout;//出队指针指向下一个可以出队的空间p->pout ++;//计数器累减p->count--;//循环出队if(p->pout == p->pend+1){p->pout = p->pstart;}printf("您出队的数据是:%d\n",num);
}

四、二叉树 -- 了解

1. 树形结构 -- 链式结构 -- 族谱

2. 使用场景:文件系统

alt text

icon-default.png?t=N7T8https://blog.csdn.net/m0_71813740/article/details/141090117?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22141090117%22%2C%22source%22%3A%22m0_71813740%22%7D

http://www.yidumall.com/news/28900.html

相关文章:

  • 自己做网站类型百度指数网页版
  • 我是做性视频网站最近一周的热点新闻
  • 中山网站建设服务网站快速排名优化报价
  • 中山专业门户网站制作咨询百度用户服务中心电话
  • h5做网站教程足球世界积分榜
  • 什么网站可以做微官网网站建设黄页
  • 巨人科技网站建设seoul是哪个国家
  • 怎样做响应式网站搜索引擎优化的报告
  • 佛山网站维护陕西网络推广公司
  • 自助网站免费注册职业技能培训
  • 武汉做网站公司哪家好企业网站定制开发
  • 做网站花都区专业搜索引擎seo公司
  • 福州志愿者官方网站怎么做企业推广方式有哪些
  • 室内装修设计网站推荐网站买卖
  • 北京市重大项目建设指挥部网站制作网站要花多少钱
  • 注册个人网站域名是com好还是net好手机建站
  • 企业网站html源码网络广告电话
  • 滨州做网站的科技公司如何进行app推广
  • 网站域名备案查询官网刷链接浏览量网站
  • 建设部 招投标网站安卓优化清理大师
  • 门户网站建设摘要微信附近人推广引流
  • 刷单网站建设网站优化主要优化哪些地方
  • 门窗企业网站建设微软优化大师
  • 广州海珠做网站的公司网站点击量软件
  • 安徽六安的最新通告山东关键词优化联系电话
  • 建设银行企业银行网站打不开网站按天扣费优化推广
  • 搜阅网站建设网站优化师
  • 合肥高端网站建设外贸网站有哪些平台
  • 安徽天长建设局网站市场推广seo职位描述
  • 三合一网站建设用途陕西网络推广公司