![使用栈求n个元素的所有排列_第1页](http://file1.renrendoc.com/fileroot_temp2/2020-12/7/a552813b-5cce-410c-8707-574878d1a435/a552813b-5cce-410c-8707-574878d1a4351.gif)
![使用栈求n个元素的所有排列_第2页](http://file1.renrendoc.com/fileroot_temp2/2020-12/7/a552813b-5cce-410c-8707-574878d1a435/a552813b-5cce-410c-8707-574878d1a4352.gif)
![使用栈求n个元素的所有排列_第3页](http://file1.renrendoc.com/fileroot_temp2/2020-12/7/a552813b-5cce-410c-8707-574878d1a435/a552813b-5cce-410c-8707-574878d1a4353.gif)
![使用栈求n个元素的所有排列_第4页](http://file1.renrendoc.com/fileroot_temp2/2020-12/7/a552813b-5cce-410c-8707-574878d1a435/a552813b-5cce-410c-8707-574878d1a4354.gif)
![使用栈求n个元素的所有排列_第5页](http://file1.renrendoc.com/fileroot_temp2/2020-12/7/a552813b-5cce-410c-8707-574878d1a435/a552813b-5cce-410c-8707-574878d1a4355.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.使用栈求n个元素的所有排列1.实验目的熟悉栈的ADT以及它的方法实现,学会用栈的方法去解决一些问题。2.实验要求求n个元素的所有排列,要求:使用栈。例如n=3时得:123、132、213、231、312、321 3.算法设计public void pailie(int n)ArrayStack stack=new ArrayStack();for(int a=1;a=n;a+)stack.push(a); System.out.println(stack.toString(); boolean back=false;while(!stack.isEmpty()&!back) int i=st
2、ack.pop();for(;in;i+) if(!stack.find(i+1) stack.push(i+1);for(int j=1;jn+1;j+) if(!stack.find(j)stack.push(j); System.out.println(stack.toString(); back=false;break; 4.软件结构 5.程序清单1.StackADT:import java.util.EmptyStackException;public interface StackADT public int size();public boolean isEmpty();publ
3、ic void push(int n);public int pop()throws EmptyStackException;public int peek();public String toString();2.ArrayStack:import java.util.EmptyStackException;public class ArrayStack implements StackADTprivate Object stack; public int top ; private final int DEFAULT_CAPACITY=20;public ArrayStack()stack
4、=new Object DEFAULT_CAPACITY;top=-1;public ArrayStack(int size)stack =new Object size;top=-1;public int size()return top+1;public boolean isEmpty()return top=-1;public void push(int n)if(top+1=stack.length)expandCapacity(); stack+top=n; private void expandCapacity() Object newstack=new Objectstack.l
5、ength*2+1;for(int i=0;itop;i+)newstacki=stacki;stack=newstack;public int pop()throws EmptyStackExceptionif(top=-1)throw new EmptyStackException();return (Integer)stacktop-;public int peek() return (Integer) stacktop;public String toString()String string=;for(int i=0;i=top;i+)string=string+stacki.toS
6、tring();return string;public boolean find(int k) boolean result=false; for(int i=0;i=top;i+) if(k= (Integer)stacki) result=true;break; return result; 3.Expression:public class Expressionpublic void pailie(int n)ArrayStack stack=new ArrayStack();for(int a=1;a=n;a+)stack.push(a); System.out.println(st
7、ack.toString(); boolean back=false;while(!stack.isEmpty()&!back) int i=stack.pop();for(;in;i+) if(!stack.find(i+1) stack.push(i+1);for(int j=1;jn+1;j+) if(!stack.find(j)stack.push(j); System.out.println(stack.toString(); back=false;break; 4.TEST:import java.util.Scanner;public class TEST public static void main(String args) Scanner input=new Scanner(System.in);System.out.println(please input an integer:);int n=input.nextInt();System.out.println(当n=+n+时,所有排列如下:);Expressio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年山西省三晋联盟名校高二上学期期中联合考试历史试卷
- 2025年互联网商品交易协议范本
- 2025年养老护理雇佣合同标准
- 2025年仓储合同风险控制策略制定
- 2025年仓储物流服务协议文本
- 2025年企业股份制改革协议合同范本
- 2025年儿童鞋类行业供需合同样本
- 2025年船底防污漆项目申请报告
- 2025年事业单位合同采购范例
- 2025年锰氧化物项目提案报告模范
- 汶川地震波时程记录(卧龙3向)
- 即兴口语(姜燕)-课件-即兴口语第七章PPT-中国传媒大学
- 蛋白质分离技术全PPT课件
- 磷酸铁锂电池工商业储能项目施工组织设计方案
- 艾默生HipulseUPS操作手册
- 爱心树(绘本)
- NPI管理流程(精)
- 色卡 对照表 PANTONE-CMYK
- 深圳水管理体制改革的思考和建议
- 苏教版六年级上册计算题练习大全(经典)
- 内容讲义说明案例nxt pop trainning
评论
0/150
提交评论