【剑指Offer】两个栈实现一个队列

两个栈倒腾一下,单个弹出,就可以了

<!DOCTYPE html>
<html>
<head>
	<title>2stack to </title>
	<meta charset="utf-8">
	<script type="text/javascript">
	var arr1= [];
	var arr2= [];
	//定义栈
	function stack(arr){
		this.push = function(element){
			arr.push(element);
			return arr;
		}
		this.out = function(){
			arr.pop();
			return arr;
		}
		this.outNum = function(){
			var last = arr.pop();
			return last;
		}
		this.size = function(){
			return	arr.length;
		}
		this.getHead = function(){
			return arr[0];
		}
		this.getRear = function(){
			return arr[arr.length-1]
		}

		this.displayStack = function(){
			// for(var i = 0; i<arr.length; i++){
			// 	console.log();
			// }
			console.log(arr);
		}
	}
	//创建一个对象,然后就可以调用封装好的方法
	var newStack = new stack(arr1);
	newStack.push(1);
	newStack.push(2);
	newStack.push(3);
	newStack.push(4);
	// console.log(arr1);
	newStack.displayStack();//调用打印栈的方法
	var len = newStack.size();//获取栈的大小

    var newStack2 = new stack(arr2);
	for(var i = 0; i <len; i++){//把第一个栈的内容弹出,依次压到第一个栈中
		var temp = newStack.outNum();
		newStack2.push(temp);
	}
	newStack2.displayStack();//打印第二个栈
	</script>
	
</head>
<body>
	
</body>
</html>


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值