仓库的以

### 栈的应用 #### 1,进制转换 把十进制转换成为二前进制
思路:要更换成几进制,就除以几,比如要转换成二进制,就每次除为2;比如要变成为16进制,就每次除以16;直到除没了收尾。每次除前,取模。把每次取到之范,压入栈。栈顶的价就是二进制的太可怜位,所以打印的当儿,从栈顶开始打印。
“`c #include

 

至于栈的兑现见javascript 栈
stack

 

            var optr = new Stack();
            optr.Init();
            optr.Push("#");

            var opnd = new Stack();
            opnd.Init();

            function test(str){
                var i = 0;
                var ch = str.charAt(0);     
                while(str.charAt(i)!=='#'){
                    if(parseInt(ch)>=0&&parseInt(ch)<=9){
                        opnd.Push(ch);
                    }
                    else{
                        optr.Push(ch);
                    }
                    i++;
                    ch = str.charAt(i);
                }
            }  

            test("2*(6-3)#");

 

出于近年来有些应接不暇,本打算写几关于栈的特性和实际采用。一直延宕到今日才简单的写照写。

老三、类似表达式求值,将字符串具有自然的意思,如”email-min:6-max:12-empty”。现实和表达式一样,例子没有提供。

如出一辙、数字进制之间的变,可以栈实现。如将十进制转换为八进制

次、表达式求值

 

 

脚的事例只是学了将数字增长到数字栈,将字符添加到号栈中。

 

 

            var s = new Stack();
            s.Init();

            function convert(num){
                var str = "";
                while(num!==0){
                    s.Push(num%8);
                    num= parseInt( num/8);
                }
                while(!s.Empty()){
                    str += s.Pop().toString();
                }
                return str;
            }

            convert(15);

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图