版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上武漢紡織大學(xué)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告班級(jí): 級(jí) 管工類 專業(yè) 2 班 姓名: 序號(hào): 1 實(shí)驗(yàn)時(shí)間: 2014 年 4 月 4 日 指導(dǎo)教師: 實(shí)驗(yàn)一:線性結(jié)構(gòu)的基本操作一、實(shí)驗(yàn)?zāi)康模?1、熟悉Java 上機(jī)環(huán)境,掌握J(rèn)ava語言編程方法,熟練運(yùn)用Java語言實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和算法設(shè)計(jì)。2、掌握線性表的順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的定義與基本操作,并能用Java語言實(shí)現(xiàn)線性表基本功能。3、掌握棧、隊(duì)列的存儲(chǔ)結(jié)構(gòu)與基本操作,并能利用該結(jié)構(gòu)編寫算法解決實(shí)際問題。二、實(shí)驗(yàn)內(nèi)容: 1、編寫一個(gè)Java語言程序,利用線性表實(shí)現(xiàn)約瑟夫環(huán)問題,參考書本程序示例【例2.1】,完善該程序并運(yùn)行。
2、 實(shí)驗(yàn)步驟: 、在Java編輯環(huán)境中新建程序,根據(jù)【例2.1】輸入完整程序內(nèi)容,并保存和編譯; 、運(yùn)行程序,輸入約瑟夫環(huán)長度number、起始位置start、計(jì)數(shù)值distance; 、依次輸入約瑟夫環(huán)中number個(gè)數(shù)據(jù)元素; 、輸出約瑟夫環(huán)執(zhí)行過程。2、編寫一個(gè)程序,利用棧解決遞歸問題,實(shí)現(xiàn)n階Hanoi塔問題。 實(shí)驗(yàn)步驟: 、在Java編輯環(huán)境中新建程序,輸入n階Hanoi塔程序內(nèi)容,并保存和編譯; 、運(yùn)行程序,輸入盤子數(shù)目n。 、輸出n階Hanoi塔問題解決過程。參考程序如下:import java.util.Scanner;public class MethodOfHanoipubl
3、ic static void main(String args)System.out.println(“請(qǐng)輸入盤子數(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) /只有一個(gè)盤子,直接移動(dòng) 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) /移動(dòng)過程方法 System.out.println("從 "+a+" 移到 "+c); 3、編寫一個(gè)程序,利用Java語言建立一個(gè)空隊(duì)列,如果輸入奇數(shù),則奇數(shù)入隊(duì)列;如果輸入偶數(shù),則隊(duì)列中的第一個(gè)元素出隊(duì)列;如果輸入0,則退出程序。 實(shí)驗(yàn)步驟: 、在Java編輯環(huán)境中新建程序,輸入程序內(nèi)容,并保存和編譯; 、運(yùn)行程序,輸入數(shù)據(jù)并進(jìn)行相應(yīng)隊(duì)列操作。 、輸出每次輸入數(shù)據(jù)后的隊(duì)列結(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);運(yùn)行結(jié)果:2.代碼:import java.util.Scanner;public class MethodOfHanoipublic static void main(String args)System.out.println("請(qǐng)輸入盤子數(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) /只有一個(gè)盤子,直接移動(dòng) 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) /移動(dòng)過程方法 System.out.println("從 "+a+" 移到 "
9、;+c); 運(yùn)行結(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)前隊(duì)列為空!"); else if (!queue.
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國嬰兒輔食行業(yè)現(xiàn)狀分析及投資前景規(guī)劃研究報(bào)告
- 2024年物業(yè)服務(wù)合同:辦公樓物業(yè)管理及設(shè)施維護(hù)
- 2024-2030年中國印刷品上件機(jī)行業(yè)市場分析報(bào)告
- 2024年版軟件源代碼保密合同2篇
- 2024年全面安全管理協(xié)議范本一
- 2024年度書畫展覽與合作推廣合同3篇
- 滿洲里俄語職業(yè)學(xué)院《生物偶聯(lián)技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 馬鞍山學(xué)院《三維角色建模與渲染》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年棄土場棄土處理與生態(tài)保護(hù)合作協(xié)議3篇
- 2024平房買賣合同及綠化改造配套服務(wù)協(xié)議3篇
- 新生兒換尿布課件
- 鋼結(jié)構(gòu)施工安全管理
- 裝修工程環(huán)保節(jié)能設(shè)計(jì)
- 宮頸錐切術(shù)護(hù)理查房
- 變革管理的風(fēng)險(xiǎn)評(píng)估
- 天津高中22安置考試英語試題
- 測試工程師年度個(gè)人工作總結(jié)和明年工作計(jì)劃模板
- 廣東市政工程資料表格填寫范例樣本(其他低區(qū)僅作參考)
- 母線槽安裝施工工藝與規(guī)程
- 《角的度量》復(fù)習(xí)
評(píng)論
0/150
提交評(píng)論