試驗(yàn)三-棧和隊(duì)列_第1頁
試驗(yàn)三-棧和隊(duì)列_第2頁
試驗(yàn)三-棧和隊(duì)列_第3頁
試驗(yàn)三-棧和隊(duì)列_第4頁
試驗(yàn)三-棧和隊(duì)列_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、實(shí)驗(yàn)三-棧和隊(duì)列實(shí)驗(yàn)報(bào)告三 棧和隊(duì)列一、實(shí)驗(yàn)?zāi)康模?1) 掌握棧的基本操作的實(shí)現(xiàn)方法。(2) 利用棧先進(jìn)后出的特點(diǎn),解決一些實(shí)際問 題。(3) 掌握鏈?zhǔn)疥?duì)列及循環(huán)隊(duì)列的基本操作算 法。(4) 應(yīng)用隊(duì)列先進(jìn)先出的特點(diǎn),解決一些實(shí)際 問題。二、實(shí)驗(yàn)內(nèi)容:1、使用一個(gè)棧,將一個(gè)十進(jìn)制轉(zhuǎn)換成二進(jìn)制。 粘貼源程序:package Q1;public class SeqStack publicintelement ;publicinttop ;publicstaticSeqStackp;public SeqStack( int size)this . element =new int size;this

2、. top =-1;public void push( int x)this . top +;this . element this . top =x;public int pop()return this . top =-1 ? -1: ( int ) this . element this . top -;public int get()returnthis . top =-1 ? -1: ( int ) this . element this . top ;int t = -2;public static void disp(SeqStack p)while (t!=-1)t=p.pop

3、();if (t!=-1)System. out .printf( "%d" ,t);public static void fun( int x)int t;while (x!=1)t=x%2;x=x/2;p.push(t);if (x=1)p.push(x);public static void main(String args)p=new SeqStack(13);fun (99);disp ( p);粘貼測試數(shù)據(jù)及運(yùn)行結(jié)果:ut erminated110&011|2、回文是指正讀反讀均相同的字符序列,如“acdca"、“dceecd"均是回

4、文,但"book"不 是回文。利用1中的基本算法,試寫一個(gè)算法判 定給定的字符串是否為回文。(提示:將一半字 符入棧,依次彈出與另一半逐個(gè)比較)粘貼源程序:package Q2;public class SeqStack public int top ;publicstatic SeqStack p;publicSeqStack( int size)this . element =new int size;this . top =-1;public void push( int x)this . top +;this . element this . top =x;publ

5、ic int pop().top -;.top ;returnthis . top =-1 ? -1: ( int ) this . element thispublic int get()returnthis . top =-1 ? -1: ( int ) this . element thispublic static void input(String str)int i=0;int t=str.le ngth();if (t%2=0)for (i=0;i<t/2;i+)p.push(str.charAt(i); else for (i=0;i<=t/2;i+)p.push(

6、str.charAt(i);public staticboolea n compare(Str ing str,SeqStack p)boolean flag = true ;char t;int len gth=str.le ngth();if (length%2=0)for (int i=0;i<length/2;i+)t=str.charAt(le ngth/2+i);if (t!=p.pop()flag= false ; break ; else for (int i=0;i<length/2+1;i+)t=str.charAt(le ngth/2+i);if (t!=p.

7、pop()flag= false ; break ;return flag;public static void main( Str in g args) boolea n flag;p=new SeqStack(100);Stri ng str =new Stri ng("acbca");p. input (str);flag= p. compare (str, p);if (flag= true )System. out .println("yes");else System. out .println( "No");粘貼測試數(shù)據(jù)

8、及運(yùn)行結(jié)果:r LB I I IIIyes3、使用3個(gè)隊(duì)列分別保留手機(jī)上最近10個(gè)“未接來電”、“已接來電”、“已撥電話”粘貼源程序:package Q3;public class SeqQueue<T> publicObject element ;publicint front,rear ;publicSeqQueuep;publicSeqQueue(int len gth)this.element=new Objectle ngth;this.front =this . rear =0;public boolea n isEmpty()return this . front =

9、 this . rearpublic boolea n isFull()boolea n flag= false ;if (this .front != this . rear && ( this . rear +1)%this . eleme nt this . front ).length =flag= true ; return flag;public void enquere(T x)this . element this . rear =x;this . rear =( this . rear +1)%this . element . length ; public

10、T dequeue()if (isEmpty()return n ull ;T temp=(T) this element this front 上this . front =( this . front +1)%this . element . length ; return temp;public static void disp(SeqQueue p) int i=1;while (p.isEmpty()!= true ) System. out .println(i+ i+;System. out .println();I! I!+p.dequeue();public static v

11、oid fun()long num=0;int t=0;SeqQueue missedCall =SeaQueue receivedCall =SeqQueue outgo in gCall =new SeqQueue(11);new SeqQueue(11);new SeqQueue(11);while (!(missedCall.isFull() && receivedCall.isFull() &&outgoi ngCall.isFull()num=( int )(Math.random ()*100000000);t=( int )(Math.rando

12、m ()*101);(t%3=0)missedCall.enquere(num);(t%3=1)receivedCall.enquere(num);(t%3=2)outgoingCall.enquere(num);ifififSystem. out .println("missedCall" );disp (missedCall););System. out .println( "receivedCall" disp (receivedCall);System. out .println( "outgoingCall" ); disp (outgoingCall);public static void main( Str in g args) fun ();粘貼測試數(shù)據(jù)及運(yùn)行結(jié)果:家曲642463.斗.415SB2E5.4eW79537a&127SU9.B5573377rac«ivcdCtll1.68*16%2.3M2B4783.33092932繭劇如6.7783537.92174525昌上掰鹽射包10.82&6«33gutgoinCall1.832403272.BW34.9353.274277284.4W14iW535,137-85&.777&G937.2585654

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論