设二叉排序树的二叉链表存储结构的类型定义如下:typedefstructnode{intdata;//用整数表示一个结点的名structnode*LChild,*RChild;//左右指针域}BSTNode,*BSTree;设计算法并编写程序求解以下几个问题。
8121410731562415119131613(1)键盘输入一个元素序列创建一棵二叉排序树,输出该二叉排序树的中序遍历序列;
例如,若输入45,24,55,12,37,53,60,23,40,70则创建的二叉排序树为:输出结果为:12232437404553556070(2)在(1)中所得的二叉排序树中插入一个值为58的结点,再输出它的中序遍历序列,输出结果为:1223243740455355586070(3)在(1)中所得的二叉排序树中删除值为45的结点,再输出它的中序遍历序列,输出结果为:12232437405355586070(4)利用(1)中所得的二叉排序树的所有叶子结点构造一个带头结点的单链表L。
要求不能破坏这棵二叉排序树。
所得的单链表L如下。
输出该链表各结点的值,输出结果为:23405370(5)设计算法将(1)中所得的二叉排序树的左右子树进行交换,由于二叉树是一种递归定义,所以子树的左右两棵子树也要相交换,依此类推。
最后输出所得到的二叉树的中序遍历序列。
例如,经过上述操作后,(1)中所得的二叉排序树变为如下形式。
输出该二叉树的中序序列,结果为:70605553454037242312(6)设计算法统计并输出(1)中所得的二叉排序树中只有一个孩子结点的结点个数。
输出结果为:3(7)在(1)中所得的二叉排序树中,设计算法并编写程序输出结点40的所有祖先结点。
输出结果为:452437
2024/8/12 15:36:41 39KB 数据结构 C C++
1
本书主要介绍针对嵌入式系统基于C语言的软件项目开发流程、较为复杂的C语言编程知识与技巧、编程风格及调试习惯,并通过对一个具体的软件模块(ASIXWindowGUI)的分析,介绍分析代码的方法以及设计软件系统需要考虑的各要素。
本书以实际项目中的代码为例来进行介绍,详细分析在嵌入式系统开发中程序员应该注意的方法、技巧和存在的陷阱。
本书适合用作学习嵌入式系统的高年级本科生或硕士研究生的教学用书,也可作为从事嵌入式系统编程的软、硬件工程师的技术参考用书。
嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各行各业的具体应用相结合的产物,这就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
然而,嵌入式系统是一个非常综合的技术,在学科上涉及电子科学与技术、计算机科学与技术、微电子学等众多领域,在系统的架构上涉及数字电路、模拟电路、嵌入式微处理器、嵌入式操作系统、底层驱动等技术。
因此,虽然为了满足业界对人才培养的要求,越来越多的高校相关专业开始在专科、本科、硕士培养计划中开设嵌入式系统方面的课程,但是作为一个新兴的课程体系,关于嵌入式系统教学过程中相关先修课程与基础知识的准备、教学内容(包括硬件平台与软件平台)的选择、实验教学与实践环节组织等问题依然处于争论和探索阶段。
通过对相关院校的嵌入式系统教学的调研以及在东南大学电子科学与工程学院、集成电路学院嵌入式系统教学实践的基础上,我们发现现有电子类本科专业教学计划中存在与嵌入式系统教学要求相脱节的因素,其中一个比较突出的问题就是电子类学生软件基础比较弱。
虽然电子类专业的学生都先修过“C编程语言”、“计算机原理”等课程,但是缺乏大型软件项目的开发经验,尤其缺乏操作系统方面的相关知识。
这些都为嵌入式系统课程的教学带来了一定的困难,因此在嵌入式系统课程体系中增加一些用于弥补学生软件知识的课程就非常有必要了。
凌明副教授2005年开始在集成电路学院开设的“高级嵌入式系统C编程”硕士选修课无疑是为解决这个问题而进行的有益尝试,而通过5届学生课程的讲解也取得了非常好的教学效果。
虽然关于嵌入式系统方面的专业书籍出版了很多,但是适合教学的教材可谓凤毛麟角,因此在我的建议下凌明老师开始将课程讲义的主要内容进行了系统地整理,编写成为面向本科高年级和硕士阶段教学的这本教材。
全书分为9章。
第1章简要回顾了C语言的发展历史并给出了作者对于学习C语言的一些建议和参考书目。
第2章和第3章将C语言的主要语言要素作了提纲挈领式的总结和复习,虽然不是一本C语言的入门教科书,但是出于对全书的系统性以及教学的考虑,作者用了一定的篇幅将C语言中的主要内容进行了总结,其中第2章重点介绍了C语言的关键字与运算符,第3章则重点介绍了C语言的函数、标准C库以及相关内容。
第4章详细介绍了嵌入式系统软件开发的基本流程和原理,并针对ARM处理器作了比较详细的介绍。
第5章是全书的重点和难点之一,详细介绍了C语言中指针使用的高级技巧以及程序员需要规避的内存“陷阱”,本章的后半部分还以实际的案例讲解了动态内存的分配与释放,然后以ASIXWindow的实际案例进行了构建复杂数据结构的讲解。
第6章则详细介绍了嵌入式系统中底层驱动的编写技巧以及相关中断处理程序的编写技巧,尤其是针对函数重入的问题进行了细致的分析与讨论,本章的后半部分还以一个实际的键盘驱动以及UBOOT为例进行了案例讲解。
在第7章中,作者介绍了嵌入式C语言编程需要遵循的编程规范和编码风格,本章的内容几乎在其他所有教科书中都没有涉及,但实际上对于工程项目的开发而言,本章的内容又是非常重要和实用的。
只要是软件就离不开调试,初学者往往在调试代码的过程中不知所措,因此在第8章中,作者介绍了嵌入式软件调试的基本技巧和常用工具。
本章的主要内容也是本书的特色之一,作者从工程的角度比较系统地介绍了嵌入式软件开发调试过程中常用的方法,这对于初学者是非常有帮助的。
第9章则以东南大学国家专用集成电路系统工程技术研究中心自主研发的ASIXWindow嵌入式图形用户界面(GUI)作为一个综合案例,详细讲解了一个复杂软件系统的总体设计架构。
本书的特色之处是强调实际嵌入式软件项目中常用的技巧和方法,并融合了作者在所从事的科研项目中总结出来的经验和心得。
本书适合电子类专业本科高年级和相关专业硕士的教学,可以作为相关选修课程的教材或主要参考用书,另外由于本书内容的实战性很强,因此也非常适合作为广大嵌入式系统工程师的参考用书。
2024/8/12 3:19:49 18.94MB C语言 C C++ 嵌入式
1
不记得在哪里下载的了,应该是别人上传在某论坛的示例作品,向原作者致敬!只有1个VI,34kB,体积虽小,但涉及了键盘按键的处理,波形的处理和声音的播放,给刚接触这些功能的人提供参考。
1
MiniGUI的软键盘快速设计方法,也是网上下的,希望对大家有用
2024/8/8 10:41:13 85KB MINIGUI 软键盘
1
关闭键盘中数字键,运行可实现帮助勾选下载哔哩哔哩时选中指定数量的视频
2024/8/7 21:58:04 5.78MB 博客中提到的资源
1
jQuery的甘特jQueryGantt编辑器由RobertoBicchierai和SilviaChelazzi编写这些是一些关键功能:基于jQuery3.2MIT许可:您可以在任何地方重用JSON导入导出国际化管理任务状态–>项目工作流程管理依赖管理任务(资源,角色工作)服务器同步就绪全面的撤消重做支持跨浏览器(至少对于最新版本)键盘编辑支持SVG视觉编辑器打印友好可折叠的分支关键路径里程碑,进度等飞涨在此处尝试在线工作演示::在此处阅读有关最新版本的信息::在此处阅读此组件的起源::文档在这里::jQueryGantt编辑器是项目的一部分
2024/8/7 21:37:13 190KB JavaScript
1
在proteus7.5下做的利用8255扫描矩阵键盘,并在数码管上显示按键的键值。
2024/8/7 17:28:50 48KB proteus 8255 键盘接口
1
第1篇基础篇第1章开发环境第2章语法基础第3章程序流程第4章数组与集合第5章字符串处理第6章数据结构与算法第7章类与结构第8章常用设计模式第2篇窗体篇第10章窗体的使用第11章控件的使用第12章组件的使用第9章鼠标与键盘第3篇应用篇第13章多线程编程第14章文件系统第15章注册表技术第16章数据库技术第17章访问Office第4篇新技术篇第18章GDI+绘图技术第19章自定义控件第20章图像处理技术第21章Areo技术第22章WPF技术第23章反射第24章网络编程技术第25章多进程编程第26章与C和C++的交互第27章系统管理第28章LINQ技术第29章并行处理技术
2024/8/4 22:30:47 13.3MB C# 程序设计 经典 300例
1
温湿度控制系统,以AT89S52为控制器,通过仿真实验,可以实现对环境温室温度和湿度的检测与控制。
系统硬件设计:系统通过集成数字式温湿度传感器检测环境的温度值和湿度值,将环境的温度和湿度转换成数字量,并将结果传送给单片机,通过数码管显示温湿度的值,通过键盘输入要调的温湿度,进而控制温湿度。
2024/8/3 11:36:01 20KB 51单片机 温湿度控制
1
软件介绍:360游戏优化器能够一键优化你的系统,帮你清理内存,为游戏腾出更多系统资源,加快运行速度。
清理物理内存将物理内存占用交换到虚拟内存中,为游戏腾出更多可用内存空间。
屏蔽WINDOWS左键,防止在游戏中不小心按到WIN键时打开开始菜单。
屏幕系统粘滞键,防止在游戏过程中,连接多次按到SHIFT键时,突然弹出对话框。
优化电源方案提高CPU性能,使用360游戏电源模式让你的CPU处于最佳状态。
提高显示器亮度调整屏幕GAMMA值,让游戏的画面达到最佳的显示效果。
优化内存占用,载入游戏地图,进入战斗时需要大量内存,在玩游戏前关闭内存大的程序,可以提升游戏运行速度。
优化服务,系统服务会在后台长期运行,玩游戏前可以暂停无关服务来提高运行速度,暂停的服务会在下次开启后启动。
帮助你解决遇到的游戏卡、慢、键盘误操作等问题,确保游戏的流畅。
754KB 其他资源
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡