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

做网站用的hu软件wordpress 消息框

做网站用的hu软件,wordpress 消息框,房地产信息网上查询系统,wordpress 页面新建目录 前言 一、栈 1.栈的表示和实现 1.栈的顺序存储表示和实现 1.C语言实现 2.C实现 2.栈的链式存储表示和实现 1.C语言实现 2.C实现 2.栈的应用 1.数制转换 二、队列 1.栈队列的表示和实现 1.顺序队列的表示和实现 2.链队列的表示和实现 2.循环队列 前言 这篇文…

目录

前言

一、栈

1.栈的表示和实现

1.栈的顺序存储表示和实现

1.C语言实现

2.C++实现

2.栈的链式存储表示和实现

1.C语言实现

2.C++实现

2.栈的应用

1.数制转换

二、队列

1.栈队列的表示和实现

1.顺序队列的表示和实现

2.链队列的表示和实现

2.循环队列


前言

    这篇文章主要介绍栈和队列的用法。

一、栈

        栈和队列都是访问受限的线性表。栈仅允许在表尾进行插入和删除操作。对于栈来说,允许操作的那一端叫栈顶,表头端口称为栈底。不含元素的空表称为空栈。

        栈的示意图如下:

  图1.栈的示意图

1.栈的表示和实现

        和线性表一样,栈也有两种存储表示方法。

1.栈的顺序存储表示和实现

        栈顶指针和栈中元素之间的关系如下图所示

        图2.栈顶指针和栈中元素之间的关系

1.C语言实现

        顺序栈的C语言实现看这里。

2.C++实现

        顺序栈的C++实现在这里。

2.栈的链式存储表示和实现

        链栈指的是采用链式存储实现的栈。链栈的示意图如下。

        图3.链栈示意图

        链栈的结点结构与单链表相同,这里不需要使用单链表的头结点。

1.C语言实现

        我用C语言实现了链栈,具体的实现可以看这篇文章。

2.C++实现

        C++的实现在这里。

2.栈的应用

1.数制转换

        例如我们要把十进制的168转成8进制的250。算法如下:

        图4.进制转换的算法

        这里使用C语言实现了一下,其实进制转换的过程就是栈push和pop的过程,核心代码如下:

// 数制转换函数
void conversion(int decimalNumber, int base) {SqStack stack;initSqStack(&stack); // 初始化栈// 字符集用于将余数转换为相应的字符char charSet[] = "0123456789ABCDEF";// 进行数制转换while (decimalNumber != 0) {int remainder = decimalNumber % base; // 计算余数pushSqStack(&stack, remainder); // 将余数入栈decimalNumber /= base; // 更新十进制数}// 输出转换结果printf("转换结果为:");while (!sqStackEmpty(&stack)) {int digit;popSqStack(&stack, &digit); // 从栈中取出数字printf("%c", charSet[digit]); // 输出对应的字符}printf("\n");
}void conversionTestUnit(void){int decimalNumber, base;// 输入十进制数和目标数制printf("请输入要转换的十进制数:");scanf("%d", &decimalNumber);printf("请输入目标数制(例如,二进制输入2,八进制输入8,十六进制输入16):");scanf("%d", &base);// 进行数制转换并输出结果printf("将十进制数 %d 转换为 %d 进制的结果是:\n", decimalNumber, base);conversion(decimalNumber, base);
}

二、队列

        队列也是一种访问受限的线性表,仅允许在表头删除,表尾插入操作。队列是一种先进先出(FIFO)的线性表。

        队列的示意图如下:

        图4.队列的示意图

1.栈队列的表示和实现

1.顺序队列的表示和实现

        在队列的顺序存储结构中,除了使用使用一组连续的存储单元存放队列数据元素之外,设置一个头结点和尾节点。我们约定初始化的时候front = rear = 0.入队之后front+1;出队列之后,rear+1。        

              图5.顺序队列中头指针和尾指针以及数据元素之间的关系

        这里分别使用C语言和C++实现了顺序队列。

2.链队列的表示和实现

        使用链表表示的队列称为链队。示意图如下:

        图6.链队示意图

        这里分别使用C语言和C++实现了链队列。

2.循环队列

        为了防止顺序栈的“假溢出问题”,引入了循环队列。即牺牲顺序队列的一个存储空间,进行队尾+1取模运算。

        循环队列的示意图如下:

        图5.循环队列示意图

        这里分别使用C语言和C++实现了循环队列。

http://www.yayakq.cn/news/944226/

相关文章:

  • 网站建设中ftp起什么作用东莞常平嘉盛学校
  • 太原网站公司哪家好p2p网站功能
  • 腾讯云主机网站建设教程查询企业邮箱
  • 网站想做个链接怎么做的成都成华区建设局官方网站
  • 怎么做区块链网站中国建设银行官网招聘
  • 网站商城建设方式企业网站推广
  • 上海市建设人才网站设计asp网站
  • 专线怎么做网站服务器泉州优化seo网站关键词优化
  • 邯郸做wap网站费用昆明网站建设哪家合适
  • 泰安市违法建设网站wordpress主查询
  • 艺术网站欣赏wordpress英文主题怎么用
  • php网站开发环境湖南网络优化
  • 音乐中文网站模板上海网站建设制作公
  • 网站推广问题软文范例大全200字
  • 成都龙泉工程建设有限公司网站有没有外国网站可以做兼职翻译的
  • 自己做博客网站wordpress微信文章
  • 导航网站开发工具微信营销策略
  • 网站开发的工作需要什么材料搜索百度网址版搜索
  • 青岛网站制作公司怎么申请专线访问国际网络
  • 昆山门户网站泉州网站建设培训
  • 大型网站制作公司飞数上海今天发生的重大新闻
  • 自适应网站的图做多大 怎么切南宁网站制作公
  • 怎么对一个网站做优化做家装的网站有哪些内容
  • 网站后台上传用户界面不显示中国空间站名字
  • 网站响应时间方案设计网站会员哪个好用
  • 网站宣传怎样做不违法wordpress如何手动升级
  • 深圳网页制作推广排名seo排名优化软件有用吗
  • 海西州公司网站建设网页搭建模板
  • 网站中的轮播怎么做成都企业建站系统
  • 企业网站建设好的案例青岛营销型网站