您的位置:首页 > 其它

二叉树的建立,非递归前序、中序、后续遍历

2014-09-21 21:10 239 查看
我们知道语言有机器语言,汇编语言,高级语言
根据语言的类型,我们可以分为静态语言和动态语言,那么什么是静态语言和动态语言呢?
静态语言:也叫编译型语言,需要实事先转换成可执行格式,在运行。
静态语言属于强类型语言(指的是变量),就是变量在引用前,必须事先声明,甚至还要初始化
静态语言包括:c,c++,java,c#
动态语言:也叫解释型语言,就是说源代码边解释边执行,在执行过程中转换
动态语言属于弱类型语言(指的是变量),变量用时声明,甚至不区分类型,且变量类型默认
是字符串
弱类型语言包括:PHP,SHELL,Python,Perl

编程语言也可以分为面向对象的编程语言和面向过程的编程语言
面向对象的语言有:Python,Perl,c++
面向过程的语言有:SHELL,C

那么什么变量的呢?
变量就是一个指向内存空间的一个地址单元,通过修改地址单元的值,从而改变变量的所指向的值。

变量类型可以用来确定数据存储的格式和长度
变量类型包括:
字符
数值
整型
浮点型
布尔类型

那么如何变量进行赋值呢?
VAR_NUM=VALUE
引用变量的值可以这么做:
${VAR_NUM},某些时候,{}可以省略

bash的变量类型可以这么分:
环境变量
本地变量(本地本来包括局部变量)
位置变量
特殊变量:用于保存特殊数据的变量(是系统变量)

本地变量:作用域为当前整个bash环境。
本地变量的定义:VAR_NUM = VALUE
如:这里在当前shell环境中定义了一个本地变量a,然后在脚本文件中打印本地变量a的值。



这里之所以变量a的值为空,原因是变量a的作用域只当当前shell环境中生效,而脚本执行的环境为当前shell下开辟的一个子shell环境。因此,在子shell中是无法使用父shell的本地变量的。但是子shell可以继承父shell的环境变量。

局部变量:作用域为当前代码段
局部变量的定义:local VAR_NUM=VALUE

那么什么是环境变量呢?
环境变量:作用域为当前shell进程及其子进程



如何定义一个环境变量?
有两种方式可以定义一个环境变量:
第一:export VAR_NUM=VALUE
第二:VAR_NUM=VALUE
export VAR_NUM
如何显示当前shell的环境变量的命令有:
printenv:打印所有环境变量及其值。也可以打印某个特定环境变量的值(变量前面不能加$符)。如printenv PATH。
env:显示所有环境变量及其值。
echo :也可以用来显示特定的环境变量的值。如echo $PATH.
export:将某个变量设置为环境变量。如:

set(set命令既可以显示环境变量也可以显示本地变量)

我们知道脚本执行时会启动一个shell进程:
命令行中启动的脚本会继承当前shell的环境变量
系统自动执行的脚本(非命令行启动)就需要自我定义各环境变量

特殊变量
$?:保存上一个命令执行状态的返回值
程序执行可以有两类返回值:
1、程序执行的结果(也就是使用某个命令,结果显示在屏幕上的值)
2、程序状态返回码(0-255)
0:表示执行成功(正确执行)
1-255:表示执行失败,其中1,2,127系统保留
$#:表示是参数的个数(脚本文件后面接的参数个数)
$*:表示是参数的列表,显示脚本后面接的所有参数
$@:表示是参数的列表,显示脚本后面接的所有参数
$$:脚本运行的当前进程ID号



位置变量:就是$1,$2..这些变量
$0:表示执行脚本时脚本的名称。如果这个脚本文件前面带有路径,则可以使用basename只取其脚本文件名。如:basename $0
$1:表示命令行中传递给脚本的第一个参数
$2:表示命令行中传递给脚本的第二个参数



shift:通常与$1变量连用,该命令的作用:当第一个参数使用完毕后,就将第一个参数踢掉,然后后面的参数来补充原来被踢掉参数的位置。
shift n:表示一次踢多少个位置参数



我们知道变量可以赋值,那么变量是否可以在原有的那里基础上新增一个值呢?
当然可以,那么如何在原有的变量基础上新增一个值呢?




当系统关机后,所有的变量都会在内存中销毁,从而释放内存空间,那么如果当一个变量,我们已经不使用了,为了避免内存空间资源的浪费,我们可以销毁一些不使用的变量。
变量的销毁使用命令
unset VAR_NUM(注意不能加$符)

本文出自 “linux学习之路” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐