




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、使用棧求n個(gè)元素的所有排列1.實(shí)驗(yàn)?zāi)康氖煜5腁DT以及它的方法實(shí)現(xiàn),學(xué)會(huì)用棧的方法去解決一些問(wèn)題。2.實(shí)驗(yàn)要求求n個(gè)元素的所有排列,要求:使用棧。例如n=3時(shí)得:123、132、213、231、312、321 3.算法設(shè)計(jì)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()&&!ba
2、ck) int i=stack.pop();for(;i<n;i+) if(!stack.find(i+1) stack.push(i+1);for(int j=1;j<n+1;j+) if(!stack.find(j)stack.push(j); System.out.println(stack.toString(); back=false;break; 4.軟件結(jié)構(gòu) 5.程序清單1.StackADT:importtackException;public interface StackADT public int size();public boolean isEmpty();p
3、ublic 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()st
4、ack=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 Objectstac
5、k.length*2+1;for(int i=0;i<top;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+)st
6、ring=string+stacki.toString();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.
7、push(a); System.out.println(stack.toString(); boolean back=false;while(!stack.isEmpty()&&!back) int i=stack.pop();for(;i<n;i+) if(!stack.find(i+1) stack.push(i+1);for(int j=1;j<n+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("當(dāng)n="+n+"時(shí),所有排列如下:");Exp
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空航天復(fù)合材料 課件第1章 知識(shí)點(diǎn)7 復(fù)合材料設(shè)計(jì)
- 電纜企業(yè)面試題及答案
- 單招物理試題及答案
- 醫(yī)院禮儀培訓(xùn)
- 神經(jīng)外科病人觀察與護(hù)理
- 腫瘤科護(hù)理成果展示
- 中班冬季自然教育課程設(shè)計(jì)
- 中班健康領(lǐng)域:我的時(shí)間我做主
- 異常子宮出血護(hù)理查房
- 養(yǎng)老院消防安全培訓(xùn)課件
- 《國(guó)際貨運(yùn)代理業(yè)務(wù)操作》課件 任務(wù)七 出口訂艙操作流程規(guī)范
- Unit 7 A Day to Remember 單元話(huà)題閱讀理解練習(xí)(原卷版)
- 八年級(jí)英語(yǔ)下學(xué)期期末考試(深圳專(zhuān)用)(解析版)
- 《簡(jiǎn)歷撰寫(xiě)技巧》課件
- 反分裂班會(huì)課件
- 職業(yè)技術(shù)學(xué)院衛(wèi)生信息管理專(zhuān)業(yè)人才培養(yǎng)方案
- 中建八局如何做好轉(zhuǎn)型升級(jí)下的技術(shù)標(biāo)編制工作
- 西南大學(xué)馬原試題及答案
- 2025年電大專(zhuān)科行政管理管理學(xué)基礎(chǔ)試題及答案
- 2024中國(guó)中信金融資產(chǎn)管理股份有限公司北京市分公司招聘筆試參考題庫(kù)附帶答案詳解
- 浙江省溫州市甌海區(qū)實(shí)驗(yàn)小學(xué)教育集團(tuán)2025年小升初必考題數(shù)學(xué)檢測(cè)卷含解析
評(píng)論
0/150
提交評(píng)論