Java8实现任意参数的链栈
本文实例为大家分享了Java8实现任意参数的链栈,供大家参考,具体内容如下
1、实现功能
1)push():入栈;
2)pop():出栈;
3)getSize():获取栈大小;
4)display():展示栈。
以一下测试进行特别说明:
/** *Themainfunction. */ publicstaticvoidmain(String[]args){ MyLinkedStacktest=newMyLinkedStack<>(); test.push('2'); test.push('+'); test.push('-'); test.pop(); test.push('('); test.display(); }
输出如下,即输出顺序为栈顶、栈顶下一个…
Thelinkedstackis:
[(,+,2]
2、代码
packageDataStructure; /** *@author:Inki *@email:inki.yinji@qq.com *@create:20201026 *@last_modify:20201026 */ publicclassMyLinkedStack{ /** *Onlyusedtostoretheheadnode. */ privateSingleNode head=newSingleNode(newObject()); /** *Thesinglelinkedlistcurrentsize. */ privateintsize=0; /** *Pushelementtotheendofthelist. *@param: *paraVal:Thegivenvalue. */ publicvoidpush(AnyTypeparaVal){ SingleNode tempNode=newSingleNode<>(paraVal); tempNode.next=head.next; head.next=tempNode; size++; }//Ofpush /** *Popthelastelement. *@return: *Thepoppedvalue. */ publicAnyTypepop(){ if(size==0){ thrownewRuntimeException("Thestackisempty."); } AnyTyperetVal=head.next.val; head.next=head.next.next; size--; returnretVal; }//Ofpop /** *Getthecurrentsizeofthesinglelinkedlist. *@return: *Thecurrentsizeofthesinglelinkedlist. */ publicintgetSize(){ returnsize; }//OfgetSize /** *Displaythesinglelinkedlist. */ publicvoiddisplay(){ if(size==0){ thrownewRuntimeException("Thestackisempty."); }//Ofif System.out.print("Thelinkedstackis:\n["); SingleNode tempNode=head; inti=0; while(i++ test=newMyLinkedStack<>(); test.push('2'); test.push('+'); test.push('-'); test.pop(); test.push('('); test.display(); } }//OfclassMyLinkedStack classSingleNode { /** *Thevalue. */ AnyTypeval; /** *Thenextnode. */ SingleNode next; /** *Thefirstconstructor. *@param *paraVal:Thegivenvalue. */ SingleNode(AnyTypeparaVal){ val=paraVal; }//Thefirstconstructor }//OfclassSingleNode
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。