一、exit()
exit(0):正常运行程序并退出程序;程序是正常结束的。
exit(1):非正常运行导致退出程序;非0值,程序产生了一个错误
在 shell 中调用完你的程序之后,用 echo $? 命令就可以看到你的程序的 exit 值。在 shell 脚本中,通常会根据上一个命令的 $? 值来进行一些流程控制。
二、线性表
顺序结构,链式结构
三、栈
先进后出
栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
栈就可以理解为:先入后出(LIFO)
四、堆
堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存,对其访问和对一般内存的访问没有区别。堆是指程序运行时申请的动态内存,而栈只是指一种使用堆的方法(即先进后出)。
五、队列
先进先出
多个客户端向同一服务器发送信息,可以用队列来采集数据。
队列的基本概念:
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。
队列可以理解为:先入先出(FIFO)
六、二叉树
- 前序遍历
先中间节点,再左子树,后右子树 - 中序遍历
拍成饼,先左,后中,最后右子树 - 后序遍历
先从叶子节点开始遍历左右树,再根节点,
4.层序遍历
若为空,则空。否则从第一层向左到右一层层遍历。