栈是仅限定从尾部进行插入和删除操作的线性表结构。具有先进后出,后进先出的特性。
栈的应用实例
1、数制转化
2、括号匹配校验
3、迷宫求解
4、实现递归-汉诺塔
/**
* n表示圈编号,此函数表示将编号n及以上的圈从a,借助于b,移至c
*/
function hannuota($n,$a,$b,$c){
if($n==1){
mov($a,1,$c); //将1号圈从a移到c
}else{
hannuota($n-1,$a,$c,$b); //将编号n之上的n-1个圈,移至b,借助于c
mov($a,$n,$c); //将编号n移至c
hannuota($n-1,$b,$a,$c); //再将b上n-1个圈移至c的n圈上面
}
}