版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上武漢紡織大學(xué)數(shù)據(jù)結(jié)構(gòu)實驗報告班級: 級 管工類 專業(yè) 2 班 姓名: 序號: 1 實驗時間: 2014 年 4 月 4 日 指導(dǎo)教師: 實驗一:線性結(jié)構(gòu)的基本操作一、實驗?zāi)康模?1、熟悉Java 上機(jī)環(huán)境,掌握J(rèn)ava語言編程方法,熟練運用Java語言實現(xiàn)數(shù)據(jù)結(jié)構(gòu)設(shè)計和算法設(shè)計。2、掌握線性表的順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)的定義與基本操作,并能用Java語言實現(xiàn)線性表基本功能。3、掌握棧、隊列的存儲結(jié)構(gòu)與基本操作,并能利用該結(jié)構(gòu)編寫算法解決實際問題。二、實驗內(nèi)容: 1、編寫一個Java語言程序,利用線性表實現(xiàn)約瑟夫環(huán)問題,參考書本程序示例【例2.1】,完善該程序并運行。
2、 實驗步驟: 、在Java編輯環(huán)境中新建程序,根據(jù)【例2.1】輸入完整程序內(nèi)容,并保存和編譯; 、運行程序,輸入約瑟夫環(huán)長度number、起始位置start、計數(shù)值distance; 、依次輸入約瑟夫環(huán)中number個數(shù)據(jù)元素; 、輸出約瑟夫環(huán)執(zhí)行過程。2、編寫一個程序,利用棧解決遞歸問題,實現(xiàn)n階Hanoi塔問題。 實驗步驟: 、在Java編輯環(huán)境中新建程序,輸入n階Hanoi塔程序內(nèi)容,并保存和編譯; 、運行程序,輸入盤子數(shù)目n。 、輸出n階Hanoi塔問題解決過程。參考程序如下:import java.util.Scanner;public class MethodOfHanoipubl
3、ic static void main(String args)System.out.println(“請輸入盤子數(shù)目:”);Scanner scan=new Scanner(System.in); /輸入盤子數(shù)目int number=scan.nextInt();hanoi(number,A,B,C); /調(diào)用hanoi方法public static void hanoi(int num, char a,char b,char c)if (num=1) /只有一個盤子,直接移動 move(a,c);elsehanoi(num-1,a,c,b); /遞歸調(diào)用move(a,c);hanoi(nu
4、m-1,b,a,c); /遞歸調(diào)用 public static void move(char a,char c) /移動過程方法 System.out.println("從 "+a+" 移到 "+c); 3、編寫一個程序,利用Java語言建立一個空隊列,如果輸入奇數(shù),則奇數(shù)入隊列;如果輸入偶數(shù),則隊列中的第一個元素出隊列;如果輸入0,則退出程序。 實驗步驟: 、在Java編輯環(huán)境中新建程序,輸入程序內(nèi)容,并保存和編譯; 、運行程序,輸入數(shù)據(jù)并進(jìn)行相應(yīng)隊列操作。 、輸出每次輸入數(shù)據(jù)后的隊列結(jié)果。三、操作步驟:1代碼:import java.util.Arr
5、ayList;import java.util.List;public class YSfhpublic YSfh(int number, int start, int distance) List<String> list = new ArrayList<String>(number);for (int i = 0; i < number; i+)list.add(char) ('A' + i) + "");System.out.print("約瑟夫環(huán)(" + number + ","
6、+ start + "," + distance + "),");System.out.print(list.toString();int i = start;while (list.size() > 1) i = (i + distance - 1) % list.size();System.out.print("刪除" + list.remove(i).toString() + ",");System.out.print(list.toString();System.out.print("被赦免
7、者是" + list.get(0).toString();public static void main(String args) new YSfh(5, 0, 2);運行結(jié)果:2.代碼:import java.util.Scanner;public class MethodOfHanoipublic static void main(String args)System.out.println("請輸入盤子數(shù)目:");Scanner scan=new Scanner(System.in); /輸入盤子數(shù)目int number=scan.nextInt();han
8、oi(number,'A','B','C'); public static void hanoi(int num, char a,char b,char c)if (num=1) /只有一個盤子,直接移動 move(a,c);elsehanoi(num-1,a,c,b); /遞歸調(diào)用move(a,c);hanoi(num-1,b,a,c); /遞歸調(diào)用 public static void move(char a,char c) /移動過程方法 System.out.println("從 "+a+" 移到 "
9、;+c); 運行結(jié)果:3.代碼QQueue.javapublic interface QQueue<T> boolean isEmpty();boolean enqueue(T x);T dequeue();SeqQueue.javapublic class SeqQueue<T> implements QQueue<T> private Object element;private int front, rear;public SeqQueue(int length) if (length < 64)length = 64;this.element
10、= new ObjectMath.abs(length);this.front = this.rear = 0;public SeqQueue() this(64);public boolean isEmpty() return this.front = this.rear;public boolean enqueue(T x) if (x = null)return false;if (this.front = (this.rear + 1) % this.element.length) Object temp = this.element;this.element = new Object
11、temp.length * 2;int i = this.front, j = 0;while (i != this.rear) this.elementj = tempi;i = (i + 1) % temp.length;j+;this.front = 0;this.rear = j;return true;this.elementthis.rear = x;this.rear = (this.rear + 1) % this.element.length;return true;public T dequeue() if (isEmpty()return null;T temp = (T
12、) this.elementthis.front;this.front = (this.front + 1) % this.element.length;return temp;public String toString() String str = "("if (!isEmpty() str += this.elementthis.front.toString();int i = (this.front + 1) % this.element.length;while (i != this.rear) str += "," + this.elemen
13、ti.toString();i = (i + 1) % this.element.length;return str + ")"ts3.javaimport java.util.Scanner;public class ts3public static void main(String args) Scanner in = new Scanner(System.in);SeqQueue<Integer> queue = new SeqQueue(64);int num = -1;while(num != 0) num = in.nextInt();if (num % 2 = 0) if (queue.dequeue() = null) System.out.println("當(dāng)前隊列為空!"); else if (!queue.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度煤炭儲備基地場地租賃及安全管理合同3篇
- 2024年版保險代理合同
- 2025年度數(shù)據(jù)中心機(jī)房設(shè)備租賃合同范本3篇
- 2024-2025學(xué)年度下學(xué)期幼兒園工作計劃1
- 2024無錫江陰專利許可使用合同
- 2024年跨區(qū)域電子商務(wù)平臺運營協(xié)議
- 2024年跨境電商平臺入駐經(jīng)紀(jì)代理服務(wù)協(xié)議3篇
- 2024年貨物買賣合同(進(jìn)口)
- 第九章《簡單機(jī)械 功》單元測試含解析2024-2025學(xué)年魯科版(五四學(xué)制)物理八年級下冊
- 老年健康知識培訓(xùn)課件
- 2020年高級統(tǒng)計實務(wù)與案例分析真題及答案
- 新型農(nóng)村集體經(jīng)濟(jì)研究綜述
- 人教版數(shù)學(xué)八年級上冊第十一章 三角形 作業(yè)設(shè)計 教案(含答案)
- 管理人履職工作報告
- 學(xué)校財務(wù)整改報告范文(合集5篇)
- 產(chǎn)品供貨質(zhì)量保障措施
- 宇電溫控器ai 500 501用戶手冊s 6中文說明書
- 部編版五年級語文下冊第四單元整體教學(xué)設(shè)計
- 股權(quán)激勵外文文獻(xiàn)
- 【事業(yè)單位考試】2023年04月外交學(xué)院度第二次公開招聘人員沖刺題
- 課外文言文閱讀100篇:經(jīng)典古文名篇100
評論
0/150
提交評論