武漢紡織大學(xué)《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)報(bào)告_第1頁(yè)
武漢紡織大學(xué)《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)報(bào)告_第2頁(yè)
武漢紡織大學(xué)《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)報(bào)告_第3頁(yè)
武漢紡織大學(xué)《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)報(bào)告_第4頁(yè)
武漢紡織大學(xué)《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、武漢紡織大學(xué)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告班級(jí): 級(jí) 管工類(lèi) 專(zhuān)業(yè) 2 班 姓名: 序號(hào): 1 實(shí)驗(yàn)時(shí)間: 2014 年 4 月 4 日 指導(dǎo)教師: 實(shí)驗(yàn)一:線(xiàn)性結(jié)構(gòu)的基本操作一、實(shí)驗(yàn)?zāi)康模?1、熟悉Java 上機(jī)環(huán)境,掌握J(rèn)ava語(yǔ)言編程方法,熟練運(yùn)用Java語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和算法設(shè)計(jì)。2、掌握線(xiàn)性表的順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的定義與基本操作,并能用Java語(yǔ)言實(shí)現(xiàn)線(xiàn)性表基本功能。3、掌握棧、隊(duì)列的存儲(chǔ)結(jié)構(gòu)與基本操作,并能利用該結(jié)構(gòu)編寫(xiě)算法解決實(shí)際問(wèn)題。二、實(shí)驗(yàn)內(nèi)容: 1、編寫(xiě)一個(gè)Java語(yǔ)言程序,利用線(xiàn)性表實(shí)現(xiàn)約瑟夫環(huán)問(wèn)題,參考書(shū)本程序示例【例2.1】,完善該程序并運(yùn)行。 實(shí)驗(yàn)步驟: 、在Java

2、編輯環(huán)境中新建程序,根據(jù)【例2.1】輸入完整程序內(nèi)容,并保存和編譯; 、運(yùn)行程序,輸入約瑟夫環(huán)長(zhǎng)度number、起始位置start、計(jì)數(shù)值distance; 、依次輸入約瑟夫環(huán)中number個(gè)數(shù)據(jù)元素; 、輸出約瑟夫環(huán)執(zhí)行過(guò)程。2、編寫(xiě)一個(gè)程序,利用棧解決遞歸問(wèn)題,實(shí)現(xiàn)n階Hanoi塔問(wèn)題。 實(shí)驗(yàn)步驟: 、在Java編輯環(huán)境中新建程序,輸入n階Hanoi塔程序內(nèi)容,并保存和編譯; 、運(yùn)行程序,輸入盤(pán)子數(shù)目n。 、輸出n階Hanoi塔問(wèn)題解決過(guò)程。參考程序如下:import java.util.Scanner;public class MethodOfHanoipublic static voi

3、d main(String args)System.out.println(“請(qǐng)輸入盤(pán)子數(shù)目:”);Scanner scan=new Scanner(System.in); /輸入盤(pán)子數(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è)盤(pán)子,直接移動(dòng) move(a,c);elsehanoi(num-1,a,c,b); /遞歸調(diào)用move(a,c);hanoi(num-1,b,a,c); /

4、遞歸調(diào)用 public static void move(char a,char c) /移動(dòng)過(guò)程方法 System.out.println(從 +a+ 移到 +c); 3、編寫(xiě)一個(gè)程序,利用Java語(yǔ)言建立一個(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.ArrayList;import java.util.List;public c

5、lass YSfhpublic YSfh(int number, int start, int distance) List list = new ArrayList(number);for (int i = 0; i 1) i = (i + distance - 1) % list.size();System.out.print(刪除 + list.remove(i).toString() + ,);System.out.print(list.toString();System.out.print(被赦免者是 + list.get(0).toString();public static vo

6、id 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)輸入盤(pán)子數(shù)目:);Scanner scan=new Scanner(System.in); /輸入盤(pán)子數(shù)目int number=scan.nextInt();hanoi(number,A,B,C); public static void hanoi(int num, char a,cha

7、r b,char c)if (num=1) /只有一個(gè)盤(pán)子,直接移動(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)過(guò)程方法 System.out.println(從 +a+ 移到 +c); 運(yùn)行結(jié)果:3.代碼QQueue.javapublic interface QQueue boolean isEmpty();boolean enqueue(T x);T dequeue();SeqQueue.javapu

8、blic class SeqQueue implements QQueue private Object element;private int front, rear;public SeqQueue(int length) if (length 64)length = 64;this.element = new ObjectMath.abs(length);this.front = this.rear = 0;public SeqQueue() this(64);public boolean isEmpty() return this.front = this.rear;public boo

9、lean enqueue(T x) if (x = null)return false;if (this.front = (this.rear + 1) % this.element.length) Object temp = this.element;this.element = new Objecttemp.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;ret

10、urn 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) this.elementthis.front;this.front = (this.front + 1) % this.element.length;return temp;public String toString() String str = (;if (!isEmpty() str

11、+= this.elementthis.front.toString();int i = (this.front + 1) % this.element.length;while (i != this.rear) str += , + this.elementi.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 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 (!q

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論