《数据结构》(C语言版)算法源码及运行演示系统使用说明一、启动演示系统双击演示系统应用程序文件“DS_VC_ALGO.EXE”启动演示系统,出现图1所示界面。
图1《数据结构》(C语言版)算法源码及运行演示系统主界面二、演示系统使用步骤除了个别算法之外,演示系统给出了《数据结构》(C语言版)书中算法对应的程序代码(CPP文件)和测试运行程序(VC++6.0的EXE文件)。
通过本系统,可以显示算法的源代码以及运行结果。
具体操作步骤如下:1.选择相应章单击演示系统界面右侧章选择按钮。
例如,要选择第6章,则单击“第6章”选择按钮。
当相应章被选择后,窗口的右侧部分将列出本章的算法选择按钮。
例如,选择第6章后,窗口的右侧部分将显示第6章中的算法6.1-6.13和6.15的选择按钮。
由于书中的算法6.14和6.16只是示意性算法,故未给出源码,其按钮上的文字为灰色,处于“无效”状态。
2.选择相应章中的算法单击窗口右侧部分所列举的本章某个算法选择按钮,被选择的算法的源码将在窗口左侧空白区域中显示。
对于较长的源码,单击显示区域后,可用键盘的光标键和翻页键浏览源码。
例如,选择了第6章中的算法6.5后界面如图2所示:图2选择算法6.53.运行测试程序单击窗口上部的“运行”按钮,将弹出运行窗口,运行所选算法的测试程序。
若运行按钮为灰色,表示该算法无单独测试程序。
例如,算法6.5的测试运行窗口如图3所示:图3测试运行窗口测试运行说明:测试运行窗口显示程序的执行过程及结果。
若在显示过程中出现运行窗口无法正常演示的情况,只需调节运行窗口大小即可正常显示(调节最小化按钮或窗口最大化/还原按钮“”)。
三、退出演示系统使用完毕后,单击窗口右上角关闭按钮“”退出演示系统。
四、测试程序示例在《数据结构》的课程教学中,各抽象数据类型的设计与实现是重要的学习和实践环节。
为此,本系统只给出了各算法源码的测试程序的可执行文件。
在此,给出算法6.5的测试程序示例,以供参考。
算法6.5是中序遍历线索二叉树的非递归算法,要对其源码进行测试,可首先调用算法6.6及6.7建立中序线索二叉树。
以下是测试程序的源码,相关类型和辅助函数定义在文件include06.h和include06.cpp中,此略。
//test0605.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include"include06.h"//相关类型和辅助函数的定义BiThrTreepre;//线索二叉树遍历辅助变量#include"algo0607.cpp"//算法6.7源码#include"algo0606.cpp"//算法6.6源码#include"algo0605.cpp"//算法6.5源码intmain(intargc,char*argv[]){chargl_str[64];BiThrTreeT;BiThrTreeThrt;printf("*******************************************\n");printf("*《数据结构》(C语言版)严蔚敏,吴伟民*\n");printf("*算法6.5,6.6&6.7*\n");printf("*******************************************\n");srand((unsigned)time(NULL));//随机函数初始化T=NULL;//空二叉树Tfor(intpass=0;pass<5;pass++){//测试运行5次,第一次为空树outBiThrTree(T,gl_str);//以类广义表的方式输出二叉树T到gl_strprintf("T=%s\n",gl_str);//显示pre=NULL;Statusr=InOrderThreading(Thrt,T);//算法6.6,6.7,中序线索化printf("InOrderThreading(Thrt,T):%s\n",(r)?"OK":"ERROR");initVisitStr();//将visitStr清为空串InOrderTraverse_Thr(Thrt,v
2018/10/26 23:48:18 2.92MB 严蔚敏 数据结构 C语言 源代码
1
go开发实战.doc非常实用的快速入门手册,知识点很全面,例子也比较丰富。
目录1.初识Go语言11.1Go语言引见11.1.1Go语言是什么11.1.2Go语言优势11.1.3Go适合用来做什么21.2环境搭建21.2.1安装和设置21.2.2标准命令概述21.2.3学习资料21.3第一个Go程序31.3.1HelloGo31.3.2代码分析31.3.3命令行运行程序42.基础类型42.1命名42.2变量52.2.1变量声明52.2.2变量初始化62.2.3变量赋值62.2.4匿名变量62.3常量72.3.1字面常量(常量值)72.3.2常量定义82.3.3iota枚举82.4基础数据类型102.4.1分类102.4.2布尔类型112.4.3整型112.4.4浮点型112.4.5字符类型112.4.6字符串122.4.7复数类型122.5fmt包的格式化输出输入132.5.1格式说明132.5.2输出142.5.3输人142.6类型转换152.7类型别名153.运算符153.1算术运算符153.2关系运算符163.3逻辑运算符163.4位运算符163.5赋值运算符173.6其他运算符173.7运算符优先级174.流程控制184.1选择结构184.1.1if语句184.1.2switch语句194.2循环语句204.2.1for204.2.2range204.3跳转语句214.3.1break和continue214.3.2goto215.函数225.1定义格式225.2自定义函数225.2.1无参无返回值225.2.2有参无返回值235.2.3无参有返回值245.2.4有参有返回值255.3递归函数265.4函数类型275.5匿名函数与闭包275.6延迟调用defer305.6.1defer作用305.6.2多个defer执行顺序305.6.3defer和匿名函数结合使用315.7获取命令行参数315.8作用域325.8.1局部变量325.8.2全局变量335.8.3不同作用域同名变量336.工程管理346.1工作区346.1.1工作区引见346.1.2GOPATH设置356.2包356.2.1自定义包356.2.2main包366.2.3main函数和init函数366.2.4导入包386.3测试案例406.3.1测试代码406.3.2GOPATH设置426.3.3编译运行程序436.3.4goinstall的使用437.复合类型457.1分类457.2指针457.2.1基本操作457.2.2new函数467.2.3指针做函数参数467.3数组477.3.1概述477.3.2操作数组477.3.3在函数间传递数组487.4slice497.4.1概述497.4.2切片的创建和初始化497.4.3切片的操作507.4.4切片做函数参数527.5map537.5.1概述537.5.2创建和初始化537.5.3常用操作547.5.4map做函数参数557.6结构体567.6.1结构体类型567.6.2结构体初始化577.6.3结构体成员的使用577.6.4结构体比较587.6.5结构体作为函数参数597.6.6可见性598.面向对象编程618.1概述618.2匿名组合618.2.1匿名字段618.2.2初始化628.2.3成员的操作628.2.4同名字段638.2.5其它匿名字段648.3方法658.3.1概述658.3.2为类型添加方法668.3.3值语义和引用语义678.3.4方法集688.3.5匿名字段708.3.6表达式718.4接口738.4.1概述738.4.2接口的使用738.4.3接口组合758.4.4空接口778.4.5类型查询779.异常处理799.1error接口799.2
1
B.NET,C#,VC++等直接与西门子S7-200SMART的以太网口直接通讯,无需PLC内编程配合,直接会见I、Q、M、V等寄存器区域,支持多种数据类型;
附件中是VB.NET2010和C#2010的源代码:
2022/9/7 7:50:43 620KB 以太网通信
1
一、问题描述在控制台下实现一个对算术表达式求值的模拟程序。
二、基本要求该演示程序具有如下基本功能:(1)表达式输入,以字符序列的方式从终端输入一个语法正确的数值表达式(float型),且表达式中只含有+、-、*、/、(、)6种运算符,输入格式如下:……例如表达式:100+(15/3)*2输入格式为:100+(15/3)*2注意:输入的表达式中间不含空格。
(2)表达式结果的输出,输出方式为:=例如表达式:100+(15/3)*2输出方式为:100+(15/3)*2=110注意:此处的输出结果为整个表达式的数值结果。
(3)数据合法性检验主要是针对原表达式中除数为0的情况。
三、界面效果表达式求值模拟程序功能菜单:==============[1]输入表达式并求值[0]退出==============请输入你的选择(0~1):1请输入一个表达式:100+(15/3)*2计算结果如下:100+(15/3)*2=110请输入你的选择(0~1):0四、测试数据(1)8=(2)1+2+3+4=(3)88-1*5=(4)1024/4*8=(5)1024/(4*8)=(6)(20+2)*(6/2)=(7)3-3-3=(8)80/(9-9)=(9)(6+2*(3+6*(6+6))=(10)(((6+6)*6+3)*2+6)*2=五、实现提示(1)设置运算符栈和操作数栈辅助分析算符优先关系;
(2)在读入字符序列时,完成运算符和操作数的处理,以及相应运算;
(3)在识别处运算数的同时,要将其字符序列方式转化成float型数据方式;
(4)输入的字符序列中,操作数不一定是一位数,可能是多位数,如16+32;
(5)使用Lab3-1实现的栈的ADT基本操作完成本次作业;
(6)在程序中会用到两类栈:操作数栈和运算符栈,分别为float型数据和字符型数据,思考在同一个程序中如何处理两类不同的数据类型?(7)算符之间的优先关系参考课本P53页表3.1。
2022/9/6 11:57:13 4KB 表达式求值 数据结构
1
C程序设计(第四版)学习辅导.pdf下载地址:http://download.csdn.net/source/3398965。
《C程序设计(第四版)》,作者:谭浩强,出版社:清华大学出版社,ISBN:9787302224464,PDF格式,大小19.1MB,本资源pdf带有书签,方便读者阅读。
内容简介:由谭浩强教授著、清华大学出版社出版的《c程序设计》是一本公认的学习c语言程序设计的经典教材。
根据c语言的发展和计算机教学的需要,作者在《c程序设计(第三版)》的基础上进行了修订。
本书按照c语言的新标准c99进行介绍,所有程序都符合c99的规定,使编写程序更加规范;
对c语言和程序设计的基本概念和要点讲解透彻,全面而深入;
按照作者提出的“提出问题—解决问题—归纳分析”三部曲进行教学、组织教材;
本书的每个例题都按以下几个步骤展开:提出任务—解题思路—编写程序—运行程序—程序分析—有关说明。
符合读者认知规律,容易入门与提高。
  本书内容先进,体系合理,概念清晰,讲解详尽,降低台阶,分散难点,例题丰富,深入浅出,文字流畅,通俗易懂,是初学者学习c程序设计的理想教材,可作为高等学校各专业的正式教材,也是一本自学的好教材。
本书还配有辅助教材《c程序设计(第四版)学习辅导》。
目录:第1章程序设计和c语言11.1什么是计算机程序11.2什么是计算机语言11.3c语言的发展及其特点31.4最简单的c语言程序51.4.1最简单的c语言程序举例61.4.2c语言程序的结构101.5运行c程序的步骤与方法121.6程序设计的任务14习题15第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用ns流程图表示算法282.4.5用伪代码表示算法31.2.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的c程序设计——顺序程序设计373.1顺序程序设计举例373.2数据的表现方式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3c语句573.3.1c语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题82第4章选择结构程序设计854.1选择结构和条件判断854.2用if语句实现选择结构874.2.1用if语句处理选择结构举例874.2.2if语句的一般方式894.3关系运算符和关系表达式914.3.1关系运算符及其优先次序914.3.2关系表达式924.4逻辑运算符和逻辑表达式924.4.1逻辑运算符及其优先次序934.4.2逻辑表达式944.4.3逻辑型变量964.5条件运算符和条件表达式974.6选择结构的嵌套994.7用switch语句实现多分支选择结构1024.8选择结构程序综合举例105习题111第5章循环结构程序设计1145.1为什么需要循环控制1145.2用while语句实现循环1155.3用do…while语句实现循环1175.4用for语句实现循环1205.5循环的嵌套1245.6几种循环的比较1255.7改变循环执行的状态1255.7.1用break语句提前终止循环1265.7.2用continue语句提前结束本次循环1275.7.3break语句和continue语句的区别1285.8循环程序举例131习题140第6章利用数组处理批量数据1426.1怎样定义和引用一维数组1426.1.1怎样定义一维数组1436.1.2怎样引用一维数组元素1446.1.3一维数组的初始化1456.1.4一维数组程序举例1466.2怎样定义和引用二维数组1486.2.1怎样定义二维数组1496.2.2怎样引用二维数组的元素1506.2.3二维数组的初始化1516.2.4二维数组程序举例1526.3字符数组1546.3.1怎样定义字符数组154
1
地形执行用于构建和运行CLI命令的Go模块。
结构化的返回值使用定义的数据类型。
是使用gRPC协议的Terraform插件的规范Go接口。
该库旨在用于使用Terraform的另一个接口CLI的Go程序中。
导入此库比导入github.com/hashicorp/terraform/command,因为后者不适用于TerraformCore之外。
尽管terraform-exec已经被广泛使用,但是请注意,该模块尚未在v1.0.0上运行,因而在次要发行版中可能会发生重大更改。
我们严格遵循。
用法Terraform结构必须使用NewTerraform(workingDir,execPath)进行初始化。
每个顶级Terraform命令都有其自己的函数,这些函数将返回error或(T,error),其中T是terraform-json类型。
例packagemainimport( "context" "fmt" "io/ioutil" "os" "github.com/hashicorp/terraform-exec/tfexec" "git
2020/8/22 13:23:31 130KB terraform terraform-sdk TerraformGo
1
poi解析excel功能参数说明此项目是基于springMVC实现的,基本流程为从前台jsp页面使用Ajax文件上传导入excel文件(.xls(97-03)/.xlsx(07以后)),传到后台controller调用相应工具类解析后前往指定参数做后续处理.1.POIUtil.java工具类解析通过MutilpartFile导入的Excel并解析里面数据,先判断文件的类型(excel处理有两种此处为两种通用)是.xls/.xlsx,通过workbook.getNumberOfSheets()获取工作簿数量,遍历工作簿,sheet.getLastRowNum()获取最大行数,将每行数据放入Listlist=newArrayList(),并根据excel数据类型将器转换为字符串、数字、Boolean、公式、空值类型防止出现错误,最后前往一个list.2.ExcelUtil.java工具类解析通过MutilpartFile导入的Excel并解析里面数据,先判断文件的类型(excel处理有两种此处为两种通用)是.xls/.xlsx,采用Apache的POI的API来操作Excel,读取内容后保存到List中,再将List转Json(使用Linked,增删快,与Excel表顺序保持一致),Sheet表1————>List1步骤1:根据Excel版本类型创建对于的Workbook以及CellSytle步骤2:遍历每一个表中的每一行的每一列,这里做了些小改动,因为后续可能解析过后可能会保存入数据库,这里为第一行数据添加一个自定义表头String[]p=newString[]{"name","age","sex","tel","address","e-mail","phone"};遍历的列数量以p的length为准步骤3:一个sheet表就是一个Json,多表就多Json,对应一个List一个sheet表的一行数据就是一个Map一行中的一列,就把当前列头为key,列值为value存到该列的Map中Map一个线性HashMap,以Excel的sheet表顺序,并以sheet表明作为key,sheet表转换Json后的字符串作为value最后前往一个LinkedHashMap3.ExcelToJsonPoi.java工具类这个与上面工具类类似,不过这个是解析本地excel文件不是使用的流,使用迭代遍历sheet工作簿与每行每列的值,将所有类型作为String类型处理前往一个json对象输出至控制台
2021/10/17 15:09:19 51.92MB poi解析excel
1
本文实例讲述了jQuery实现Ajax功能。
分享给大家供大家参考,具体如下:jQuery是一个小型的JavaScript库,它通常被用来简化DOM和JavaScript操作。
通过在服务器和客户端之间交换JSON数据是使得Web应用动态化的完满方式。
JSON本身是一个很清量级的数据传输格式,非常近似于Python的原始数据类型(数字、字符串、字典和链表等),这一数据格式被广泛支持,而且非常容易解析。
它几年前开始流行,然后迅速取代了XML在Web应用常用数据传输格式中的地位。
如果您使用Python2.6以上版本,JSON的解析库是开箱即用的。
2015/10/23 17:05:02 86KB AS 功能分析
1
上一篇讲了Ajax请求数据text类型,text和html都是处理比较简答的数据,而在编程过程中使用Ajax调用数据的时候,难免要进行逻辑的处理,接受的数据也变的复杂比如数组类型的数据,这时候就需要使用JSON数据类型进行处理,今天就说说,JSON数据请求过程中的一些细节:软件开发网友情提示本文所需工具和原料如下:wamp或lamp环境、jquery.js、编辑器具体方法/步骤请看下面:1.创建基本的文件结构json_ajax.html和json_ajax.php,下载jquery.js,如图:2.如图分别编写json_ajax.html和json_ajax.php文件的编码:
2017/6/5 4:53:53 200KB ajax data 异步
1
c/c++/cpp/stl中文协助文档手册chm格式下载C/C++语言参考基本C/C++预处理命令操作符优先级转义字符ASCII码表基本数据类型关键字标准C库:StandardCI/OStandardCString&CharacterStandardCMathStandardCTime&DateStandardCMemoryOtherstandardCfunctionsC++C++I/OC++StringsC++标准模板库C++BitsetsC++Double-EndedQueuesC++ListsC++MapsC++MultimapsC++MultisetsC++PriorityQueuesC++QueuesC++SetsC++StacksC++VectorsIterators全部的C函数全部的C++函数
2020/1/11 10:49:50 115KB c++ c语言 stl chm
1
共 249 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡