已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
本本 科科 畢畢 業(yè)業(yè) 設(shè)設(shè) 計計 題題 目目 算法動態(tài)演示軟件設(shè)計與開發(fā) 鏈表操作 作作者者:宋靈靈 專專業(yè)業(yè):計算機科學(xué)與技術(shù)(軟件工程) 班班級級:軟件 101(杏) 指導(dǎo)教師指導(dǎo)教師:程顯毅 南通大學(xué)杏林學(xué)院 原原 創(chuàng)創(chuàng) 性性 聲聲 明明 本人聲明:所呈交的論文是本人在導(dǎo)師指導(dǎo)下進行的研究成果。 除了文中特別加以標(biāo)注和致謝的地方外,論文中不包含其他人已發(fā)表 或撰寫過的研究成果。參與同一工作的其他同志對本研究所做的任何 貢獻均已在論文中作了明確的說明并表示了謝意。 簽名:日 期: 本論文使用授權(quán)說明本論文使用授權(quán)說明 本人完全了解南通大學(xué)有關(guān)保留、使用學(xué)位論文的規(guī)定,即:學(xué) 校有權(quán)保留論文及送交論文復(fù)印件,允許論文被查閱和借閱;學(xué)???以公布論文的全部或部分內(nèi)容。 (保密的論文在解密后應(yīng)遵守此規(guī)定保密的論文在解密后應(yīng)遵守此規(guī)定) 學(xué)生簽名:指導(dǎo)教師簽名:日期: 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文)立題卡 課題名稱算法動態(tài)演示軟件設(shè)計與開發(fā)鏈表操作(杏)出題人程顯毅 課題表述 (簡述課 題的背景、 目的、意 義、 主要內(nèi) 容、 完成課 題的條件、 成果形式 等) CAI 課件以其圖形、文字、圖象、動畫、聲音等多種功能作用于學(xué)生多個感官, 既容易解決圖形“動”的問題,又不改變圖形的性質(zhì)。不僅能吸引學(xué)生的注意力,激 發(fā)學(xué)生的學(xué)習(xí)興趣,更能激發(fā)學(xué)生的求知欲望,調(diào)動學(xué)生的學(xué)習(xí)熱情,使其積極主 動地投入到學(xué)習(xí)中。尤其是在突出教學(xué)重點,突破教學(xué)難點,誘導(dǎo)學(xué)生思維,培養(yǎng) 學(xué)生豐富的想象力,深入的探究力,不懈的創(chuàng)造力,提高學(xué)生素質(zhì)等方面,具有傳 統(tǒng)教學(xué)無法相比的效果,體現(xiàn)了現(xiàn)代教育技術(shù)的強大優(yōu)勢 。本次畢業(yè)設(shè)計實現(xiàn)鏈表 操作動態(tài)演示軟件: (1)創(chuàng)建一個單鏈表 (2)在單鏈表中插入一個節(jié)點 (3)刪除單鏈表中的一個節(jié)點 (4)修改單鏈表中的一個節(jié)點 (5)實現(xiàn)代碼的同步追蹤 (6)自我創(chuàng)新的功能 課題來源科研課題類別畢業(yè)設(shè)計 該課題對 學(xué)生的要 求 有一定的 JAVA 編程能力和數(shù)據(jù)庫基礎(chǔ)。 教研室意 見 教研室主任簽名: _ _年_月_日 學(xué)院意見 同意立題() 不同意立題()教學(xué)院長簽名:_ _年_月_日 注:1、此表一式三份,學(xué)院、教研室、學(xué)生檔案各一份。 2、課題來源是指:1.科研,2.社會生產(chǎn)實際,3. 其他。 3、課題類別是指:1.畢業(yè)論文,2.畢業(yè)設(shè)計。 4、教研室意見:在組織專業(yè)指導(dǎo)委員會審核后,就該課題的工作量大小,難易程度及是 否符合專業(yè)培養(yǎng)目標(biāo)和要求等內(nèi)容提出具體的意見和建議。 5、學(xué)院可根據(jù)專業(yè)特點,可對該表格進行適當(dāng)?shù)男薷摹?南通大學(xué)杏林學(xué)院南通大學(xué)杏林學(xué)院 畢業(yè)設(shè)計(論文)任務(wù)書畢業(yè)設(shè)計(論文)任務(wù)書 作者:宋靈靈 專業(yè): 計算機科學(xué)與技術(shù)(軟件工程) 班級:軟件 101(杏) 指導(dǎo)教師:程顯毅 發(fā)任務(wù)書日期2014年2月 15 日 題目:算法動態(tài)演示軟件設(shè)計與開發(fā)鏈表操作 課題的內(nèi)容和要求(研究內(nèi)容、研究目標(biāo)和解決的關(guān)鍵問題) 1、研究內(nèi)容 首先學(xué)會建立鏈表,其次對于已建立的鏈表,需要可以實現(xiàn)移動,對鏈表進 行插入、刪除、修改節(jié)點以及自己研究的特殊操作(清空以及翻轉(zhuǎn)) 。最后增加 功能代碼同步。讓它能動態(tài)的演示,進行說明。 2、研究目標(biāo) 對于課題的研究: 最主要的要學(xué)會建立鏈表, 再研究對鏈表進行插入, 刪除, 修改以及代碼同步等操作的方法。 3、解決的關(guān)鍵問題 對于使用軟件的選擇花了不少時間,由于需要實現(xiàn)動態(tài)演示,最終決定使用 Visual Studio 2012 軟件,對于此軟件我還需要多多學(xué)習(xí),研究調(diào)查。 此外,鏈表的生成需要我自己寫函數(shù),我打算用 drawnode()函數(shù)去實現(xiàn), 對于代碼追蹤,我打算使用計時器,設(shè)置好生成節(jié)點的時間運行代碼。 課題的研究方法和技術(shù)路線 (1)課題的研究方法 1.采用文獻資料法 主要通過關(guān)鍵字:鏈表、操作,動態(tài)演示等條件查詢相關(guān)資料,結(jié)合一起研 究,調(diào)查其 使用說明和方法。 2.采用個案研究法 主要通過個案研究與實踐, 就是通過別人做的一個個案例,自己也試著做一 下, 從而明白他的操作途徑及方法。我個人覺得這是理論結(jié)合實踐非常有效的辦 法! 3.采取經(jīng)驗總結(jié)法 對課題研究取得的成效和不足,及時總結(jié)。累積經(jīng)驗,下次改進即可。 (2) 課題的技術(shù)路線 我的路線是: 首先對軟件的理論基礎(chǔ)進行總結(jié)的探討和分析,在鏈表操作這 個范圍內(nèi)展開調(diào)研,為實踐研究提供準備。 研究的實踐過程可概括成三個階段,即編程、試用、調(diào)適三個階段,不同的 階段有其主導(dǎo)的方法和行動,在此基礎(chǔ)上實施規(guī)劃、展開調(diào)研、參與互動、收集 數(shù)據(jù)、開展行動研究,形成一個模式。再對其效果進行新一輪的驗證以進一步檢 測前期成果,并進而得出研究結(jié)論,撰寫相應(yīng)的研究報告。 基礎(chǔ)條件 課題前期已經(jīng)進行了一些準備工作, 通過閱讀資料和觀看視頻掌握自己用到的 軟件; 有一定的編程能力和數(shù)據(jù)庫基礎(chǔ); 對鏈表熟悉,知道怎么操作使用; 學(xué)會使用 Visual Studio 2012 軟件,查詢相關(guān)資料,使其能進行鏈表的動態(tài) 演示。 參考文獻 1 管致錦,徐慧,陳德裕. 數(shù)據(jù)結(jié)構(gòu)M. 北京: 清華大學(xué)出版社, 2010. 2 王紅梅,胡明,王濤. 數(shù)據(jù)結(jié)構(gòu)(C+版)M. 北京: 清華大學(xué)出版 社, 2005. 3 Shaffer. 數(shù)據(jù)結(jié)構(gòu)與算法分析(C+版).2 版M. 北京: 電子工業(yè)出 版社, 2002. 4 朱繼紅,杜祝平.數(shù)據(jù)結(jié)構(gòu)算法動態(tài)J. 信息工程學(xué)院學(xué)報, 1998.174:14-20. 5 RobertLKruse Alexander .C+數(shù)據(jù)結(jié)構(gòu)與程序設(shè)計M. 北京: 清 華大學(xué)出版社, 2007. 6(美)Mark Allen Weiss. 數(shù)據(jù)結(jié)構(gòu)與問題求解(C+版) (第二版)M. 北京: 清華大學(xué)出版社, 2005. 7 蒙煥念,黃良永.基于優(yōu)先級鏈表結(jié)構(gòu)的大學(xué)排課算法設(shè)計與實現(xiàn)J. 廣西柳州: 柳州師范高等??茖W(xué)校教務(wù)處, 2012.211:1-5. 8 LI Chong. Exploration of Link Table Creation Based on Data StructureJ. 重慶: 重慶工程職業(yè)技術(shù)學(xué)院, 2009.021 :3-10. 9張海潘。軟件工程導(dǎo)論(第四版)M北京:清華大學(xué)出版社,2003. 10Bruno R. Preiss,Data Structures and Algorithms with Object-Oriented Design Patterns in JavaM。University of Waterloo,2007. 11王吉慶.計算機教育應(yīng)用M 北京;高等教育出版社,1992. 本課題必須完成的任務(wù) (1)使用軟件,創(chuàng)建鏈表; (2) 對創(chuàng)建好的鏈表進行插入, 刪除, 修改節(jié)點; 以及代碼追蹤和特殊操作; (3)使這些操作能夠正常的執(zhí)行。 成果形式 畢業(yè)論文和鏈表操作動態(tài)演示的設(shè)計一份 進度計劃 起訖日期工作內(nèi)容備注 1.142.5確定畢業(yè)設(shè)計課題 2.62.26熟悉任務(wù),查閱相關(guān)文獻 2.273.19觀看視頻,學(xué)會使用軟件,完成開題報告及其 ppt 3.204.19系統(tǒng)大致成型,應(yīng)對畢業(yè)設(shè)計中期檢查 4.205.20進行程序代碼調(diào)試及其編寫 5.215.31系統(tǒng)驗收,檢查 6.16.8進行論文的最后修改,完成論文,預(yù)答辯 學(xué)系意見 系主任簽名:_年_月_日 南通大學(xué)杏林學(xué)院本科生畢業(yè)設(shè)計(論文)開題報告 學(xué)生姓名宋靈靈學(xué) 號1013103019專業(yè) 計算機科學(xué)與技術(shù) (軟件工程) 課題名稱算法動態(tài)演示軟件設(shè)計與開發(fā)鏈表操作 閱讀文獻 情況 國內(nèi)文獻8 篇開題日期2014-3-19 國外文獻3 篇開題地點南通大學(xué) 一文獻綜述與調(diào)研報告: (闡述課題研究的現(xiàn)狀及發(fā)展趨勢,本課題研究的意義和價值、參考文獻) (1)課題研究的現(xiàn)狀及發(fā)展趨勢 伴隨著時代的發(fā)展,計算機已經(jīng)逐漸走近人們的日常生活。計算機輔助教學(xué)作為一種 先進的教學(xué)輔助手段,已經(jīng)深入到日常的教學(xué)之中。 本系統(tǒng)具有多媒體教學(xué)軟件的特點,多媒體教學(xué)軟件是計算機輔助教學(xué)的一種手段, 目前被廣泛采用到目常的教學(xué)之中。多媒體教學(xué)軟件具有直觀、生動、形象的優(yōu)點,可以 使學(xué)生加深印象,從而提高教學(xué)質(zhì)量和學(xué)生的學(xué)習(xí)效率,也正是出于這個目的開發(fā)了本系 統(tǒng)。 動態(tài)可視化仿真是計算機可視化技術(shù)和系統(tǒng)建模技術(shù)相結(jié)合后的仿真技術(shù),其實質(zhì)是 采用圖形或圖像方式對仿真計算過程的跟蹤、駕馭和結(jié)果的后處理,同時實現(xiàn)仿真軟件界 面的可視化,具有迅速、高效、直觀、形象的建模特點。使用可視化技術(shù)以后,系統(tǒng)的子 模塊用形象的圖形來表示,并可通過鼠標(biāo)在屏幕上直觀形象的操作,就可以完成整個仿真 任務(wù) (2)本課題研究的意義和價值 計算機多媒體教學(xué)可以將抽象的內(nèi)容形象化,靜止的內(nèi)容動態(tài)化,以便于學(xué)生獲取準 確深刻的直觀感知,從而形成完整的理性認識。這樣可以降低難度,激發(fā)學(xué)習(xí)興趣,增大 教學(xué)信息量,優(yōu)化教學(xué)過程,突破教學(xué)難點,取得最佳的教學(xué)效果。以計算機為中心的多 媒體輔助教學(xué)手段與傳統(tǒng)教學(xué)手段有機結(jié)合,共同參與教學(xué)過程,可以突出教學(xué)重點,化 解教學(xué)難點,使學(xué)生在最佳的情境中學(xué)習(xí)。 (3)參考文獻 1 管致錦,徐慧,陳德裕. 數(shù)據(jù)結(jié)構(gòu)M. 北京: 清華大學(xué)出版社, 2010. 2 王紅梅,胡明,王濤. 數(shù)據(jù)結(jié)構(gòu)(C+版)M. 北京: 清華大學(xué)出版社, 2005. 3 Shaffer. 數(shù)據(jù)結(jié)構(gòu)與算法分析(C+版).2 版M. 北京: 電子工業(yè)出版社, 2002. 4朱 繼 紅 , 杜 祝 平 . 數(shù) 據(jù) 結(jié) 構(gòu) 算 法 動 態(tài) J.信 息 工 程 學(xué) 院 學(xué) 報 , 1998.174:14-20. 5 RobertLKruse Alexander .C+數(shù)據(jù)結(jié)構(gòu)與程序設(shè)計M. 北京: 清華大學(xué) 出版社, 2007. 6(美)Mark Allen Weiss. 數(shù)據(jù)結(jié)構(gòu)與問題求解(C+版) (第二版)M. 北京: 清 華大學(xué)出版社, 2005. 7 蒙煥念,黃良永.基于優(yōu)先級鏈表結(jié)構(gòu)的大學(xué)排課算法設(shè)計與實現(xiàn)J. 廣西柳 州: 柳州師范高等??茖W(xué)校教務(wù)處, 2012.211:1-5. 8 LI Chong. Exploration of Link Table Creation Based on Data StructureJ. 重慶: 重慶工程職業(yè)技術(shù)學(xué)院, 2009.021 :3-10. 9張海潘。軟件工程導(dǎo)論(第四版)M北京:清華大學(xué)出版社,2003. 10Bruno R. Preiss,Data Structures and Algorithms with Object-Oriented Design Patterns in JavaM。University of Waterloo,2007. 11王吉慶.計算機教育應(yīng)用M 北京;高等教育出版社,1992. 二 本課題的基本內(nèi)容,預(yù)計解決的難題 (1)本課題的基本內(nèi)容 首先學(xué)會建立鏈表,其次對于已建立的鏈表,需要可以實現(xiàn)移動,對鏈表進行插入、 刪除、修改節(jié)點以及自己研究的特殊操作(清空以及翻轉(zhuǎn)) 。最后增加功能代碼同步。 讓它能動態(tài)的演示,進行說明。 (2)預(yù)計解決的關(guān)鍵問題 對于使用軟件的選擇花了不少時間,由于需要實現(xiàn)動態(tài)演示,最終決定使用 Visual Studio 2012 軟件,對于此軟件我還需要多多學(xué)習(xí),研究調(diào)查。 此外,鏈表的生成需要我自己寫函數(shù),我打算用 drawnode()函數(shù)去實現(xiàn),對于代碼 追蹤,我打算使用計時器,設(shè)置好生成節(jié)點的時間運行代碼。 三 課題的研究方法、技術(shù)路線 (1)課題的研究方法: 1.采用文獻資料法 主要通過關(guān)鍵字:鏈表、操作,動態(tài)演示等條件查詢相關(guān)資料,結(jié)合一起研究,調(diào)查 其使用說明和方法。 2.采用個案研究法 主要通過個案研究與實踐,就是通過別人做的一個個案例,自己也試著做一下,從而 明白他的操作途徑及方法。我個人覺得這是理論結(jié)合實踐非常有效的辦法! 3.采取經(jīng)驗總結(jié)法 對課題研究取得的成效和不足,及時總結(jié)。累積經(jīng)驗,下次改進即可。 (2)課題的技術(shù)路線: 我的路線是:首先對軟件的理論基礎(chǔ)進行總結(jié)的探討和分析,在鏈表操作這個范圍內(nèi) 展開調(diào)研,為實踐研究提供準備。 研究的實踐過程可概括成三個階段,即編程、試用、調(diào)適三個階段,不同的階段有其 主導(dǎo)的方法和行動,在此基礎(chǔ)上實施規(guī)劃、展開調(diào)研、參與互動、收集數(shù)據(jù)、開展行動研 究,形成一個模式。再對其效果進行新一輪的驗證以進一步檢測前期成果,并進而得出研 究結(jié)論,撰寫相應(yīng)的研究報告。 四、進度計劃 起訖日期工作內(nèi)容 1.142.5確定畢業(yè)設(shè)計課題 2.62.26熟悉任務(wù),查閱相關(guān)文獻 2.273.19觀看視頻,學(xué)會使用軟件,完成開題報告及其 ppt 3.204.19系統(tǒng)大致成型,應(yīng)對畢業(yè)設(shè)計中期檢查 4.205.18進行程序代碼調(diào)試及其編寫 5.195.31系統(tǒng)驗收,檢查 6.16.4進行論文的最后修改,完成論文,預(yù)答辯 論文階段完成日期 文獻調(diào)研完 成日期 論文實驗完成 日期 撰寫論文完 成日期 評議答辯完成 日期 指 導(dǎo) 教 師 評 語 導(dǎo)師簽名:年月日 學(xué) 系 意 見 通過開題()開題不通過() 學(xué)系主任簽名:年月日 南通大學(xué)杏林學(xué)院南通大學(xué)杏林學(xué)院 畢畢 業(yè)業(yè) 設(shè)設(shè) 計計 杏林學(xué)院信息科學(xué)學(xué)部軟件工程系 2014 年 5 月 題目:算法動態(tài)演示軟件設(shè)計與開發(fā)鏈表操作 作者:宋靈靈 專業(yè):計算機科學(xué)與技術(shù)(軟件工程) 班級:軟件 101(杏) 指導(dǎo)教師:程顯毅 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) I 摘摘要要 程序設(shè)計的靈魂算法,這是語言課教學(xué)的難點,在教學(xué)的過程中,如果 我們可以加以計算機的輔助教學(xué),這樣不僅可以提高教學(xué)效果,同時也可以編寫 這樣的程序,使學(xué)生的學(xué)習(xí)興趣大大增加,提高學(xué)生編程的能力。由于算法是比 較抽象的,要理解并掌握其原理就會顯得比較困難。本系統(tǒng)的研究要點在于設(shè)計 一個交互式多媒體課件的演示系統(tǒng),能夠?qū)︽湵磉M行創(chuàng)建,插入,刪除,修改, 以及清空和翻轉(zhuǎn)的特殊演示,這樣以便提高課程教學(xué)的效果。 系統(tǒng)采用鏈表操作動畫技術(shù)的方法來實現(xiàn)該系統(tǒng)的演示效果,再配以友善的 用戶界面用于用戶交互,使其得到理想的運行效果,這樣學(xué)生理解起來容易,學(xué) 習(xí)效率也會提高。 關(guān)鍵詞:鏈表,動態(tài)演示,算法,計算機輔助教學(xué) 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) II ABSTRACT Programming soul - algorithm, which is a difficult language teaching in the teaching process, if we can be computer-assisted instruction, so not only can improve teaching effectiveness, but also can write such programs, making learning interesting greatly increase and improve students ability to programming. Since the algorithm is more abstract, To understand and grasp its principles will become more difficult. Studies point of this system is to design an interactive multimedia courseware presentation system that can be created on the list, insert, delete, modify, and emptied, and special presentations flip, so in order to improve the effectiveness of teaching. System using methods and procedures designed to achieve the demonstration effect of the system, together with a friendly user interface for user interaction to get the desired operating results, which is easier to understand student learning efficiency will be improved. Key words: list, dynamic presentations, algorithms, computer-aided instruction 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) 目錄目錄 摘摘要要XIV ABSTRACTABSTRACTXV 第一章第一章 緒論緒論1 1.1 課題研究背景.1 1.1.1 認識鏈表.1 1.2 計算機輔助教學(xué)的現(xiàn)狀 2 1.3 計算機輔助教學(xué)的意義 5 1.4 系統(tǒng)建設(shè)的目的.6 第二章第二章 需求分析需求分析.7 2.1 可行性分析7 2.1.1 技術(shù)可行性研究.7 2.1.2 操作可行性研究.7 2.1.3 非功能性需求分析設(shè)計思想.7 2.2 項目概述.8 2.2.1 設(shè)計要求.8 2.2.2 算法的功能分析.8 2.2.3 算法的設(shè)計分析.8 2.3 需求規(guī)定.9 2.3.1 對功能的規(guī)定.9 2.3.2 項目陳述.9 2.3.3 模塊結(jié)構(gòu)圖11 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) 2.4 運行環(huán)境規(guī)定.11 2.4.1 設(shè)備.11 2.4.2 支持軟件.11 2.4.3 接口.11 2.4.4 控制.11 第三章第三章 系統(tǒng)設(shè)計系統(tǒng)設(shè)計.13 3.1 設(shè)計的總體思想 13 3.2 界面設(shè)計.16 3.3 小結(jié).20 參考文獻參考文獻21 致致謝謝22 附附錄錄23 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) 1 第一章第一章 緒論緒論 1.1 課題研究背景 隨著現(xiàn)代科學(xué)技術(shù)的迅猛發(fā)展,算機技術(shù)已經(jīng)滲透到了各個領(lǐng)域,為了各行業(yè)不可缺 少的工具,其是 Internet 技術(shù)的推廣和信息高速公路的建立,使 IT 產(chǎn)業(yè)在市場競爭中越 發(fā)顯示出它的獨特優(yōu)勢,步入數(shù)字化信息時代,擁有巨大的數(shù)據(jù)信息等待著加工處理和傳 輸,這點將現(xiàn)實中許多東西都帶入了虛擬的世界當(dāng)中,這些都需要計算機技術(shù)的支持,同 樣,各學(xué)校的教學(xué)手段也在逐步信息化,使得計算機輔助教學(xué)(Computer-Assisted Instruction,簡稱 CAI)CAI 的出現(xiàn)成為了一種必然的發(fā)展趨勢。 90 年代以來,隨著多媒體和 Internet 網(wǎng)絡(luò)的出現(xiàn),計算機教育已步入一個全新的階 段, 計算機的輔助教學(xué) CAI 作為一種先進的教學(xué)手段正在逐步滲透到各個學(xué)校的學(xué)科。 數(shù) 據(jù)結(jié)構(gòu) 不僅是大學(xué)計算機專業(yè)的核心課程, 同時也是非計算機專業(yè)的主要選修課程之一, 此課程涉及大量的概念,數(shù)據(jù)結(jié)構(gòu)和算法,理論性強又較為抽象,尤其是對算法描述的執(zhí) 行過程的理解,這是難點也是重點。在課堂教學(xué)上,大量的算法不可能一一講述,運用計 算機輔助教學(xué)系統(tǒng)可以使教學(xué)內(nèi)容化靜為動,調(diào)動學(xué)生的學(xué)習(xí)興趣,變難為易,提高了學(xué) 生的學(xué)習(xí)興趣,使學(xué)生寓學(xué)于樂,培養(yǎng)學(xué)生的學(xué)習(xí)興趣的同時,利用計算機輔助教學(xué)還可 以滿足學(xué)生的學(xué)習(xí)興趣,這樣就可以成為激發(fā)學(xué)生學(xué)習(xí)興趣的新手段,新方法。 1.1.1 認識鏈表 我介紹一下鏈表,線性表的鏈式存儲表示的特點是用一組任意的存儲單元存儲線性表 的數(shù)據(jù)元素(這組存儲單元可以是連續(xù)的,也可以是不連續(xù)的) 。因此,為了表示每個數(shù) 據(jù)元素與其直接后繼數(shù)據(jù)元素 之間的邏輯關(guān)系,對數(shù)據(jù)元素 來說,除了存儲其本身的信 息之外,還需存儲一個指示其直接后繼的信息(即直接后繼的存儲位置) 。由這兩部分信 息組成一個“結(jié)果” 。表示線性表中一個數(shù)據(jù)元素。線性表的鏈式存儲表示,有一個缺點 就是要找一個數(shù),必須要從頭開始找起,十分麻煩。 鏈表(Linked list)其實是一種物理存儲單元上非連續(xù)、非順序的存儲結(jié)構(gòu),數(shù)據(jù)元 素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的。鏈表由一系列節(jié)點(鏈表中每一個元 素稱為節(jié)點)組成,節(jié)點可以在運行時動態(tài)生成。每個節(jié)點包括兩個部分:一個是存儲數(shù) 據(jù)元素的數(shù)據(jù)域,另一個是存儲下一個節(jié)點地址的指針域。 相比于線性表順序結(jié)構(gòu),操 作復(fù)雜。 鏈表(Linkedlist)是一種常見的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),也是一種線性表,但并不會按線性 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) 2 的順序存儲數(shù)據(jù),而是在每一個節(jié)點里存到下一個節(jié)點的指針(Pointer)訪問特定編號的 節(jié)點則需要 O(n)的時間,而順序表相應(yīng)的時間復(fù)雜度分別是 O(logn)和 O。使用鏈表 結(jié)構(gòu)可以克服數(shù)組鏈表需要預(yù)先知道數(shù)據(jù)大小的缺點,鏈表結(jié)構(gòu)可以充分利用計算機內(nèi)存 空間,實現(xiàn)靈活的內(nèi)存動態(tài)管理。但是鏈表失去了數(shù)組隨機讀取的優(yōu)點,同時鏈表由于增 加了節(jié)點的指針域,空間開銷比較大。在計算機科學(xué)中,鏈表作為一種基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)可 以用來生成其它類型的數(shù)據(jù)結(jié)構(gòu)。鏈表通常由一連串節(jié)點組成,每個節(jié)點包含任意的實例 數(shù)據(jù)(data fields)和一或兩個用來指向上一個/或下一個節(jié)點的位置的鏈接(“l(fā)inks“) 。 鏈表最明顯的好處就是,常規(guī)數(shù)組排列關(guān)聯(lián)項目的方式可能不同于這些數(shù)據(jù)項目在記憶體 或磁盤上順序,數(shù)據(jù)的存取往往要在不同的排列順序中轉(zhuǎn)換。而鏈表是一種自我指示數(shù)據(jù) 類型,因為它包含指向另一個相同類型的數(shù)據(jù)的指針(鏈接) 。鏈表允許插入和移除表上 任意位置上的節(jié)點,但是不允許隨機存取。鏈表有很多種不同的類型:單向鏈表,雙向鏈 表以及循環(huán)鏈表。鏈表也可以在多種編程語言中實現(xiàn)。 根據(jù)情況,也可以自己設(shè)計鏈表的其它擴展。但是一般不會在邊上附加數(shù)據(jù),因為鏈 表的點和邊基本上是一一對應(yīng)的(除了第一個或者最后一個節(jié)點,但是也不會產(chǎn)生特殊情 況) 。不過有一個特例是如果鏈表支持在鏈表的一段中把前和后指針反向,反向標(biāo)記加在 邊上可能會更方便。 對于非線性的鏈表,可以參見相關(guān)的其他數(shù)據(jù)結(jié)構(gòu),例如樹、圖。另外有一種基于多 個線性鏈表的數(shù)據(jù)結(jié)構(gòu):跳表,插入、刪除和查找等基本操作的速度可以達到 O(nlogn) , 和平衡二叉樹一樣。 其中存儲數(shù)據(jù)元素信息的域稱作數(shù)據(jù)域(設(shè)域名為 data) ,存儲直接后繼存儲位置的 域稱為指針域(設(shè)域名為 next) 。指針域中存儲的信息又稱做指針或鏈。 由分別表示,的 N 個節(jié)點依次相鏈構(gòu)成的鏈表,稱為線性表的鏈式存儲表示,由 于此類鏈表的每個節(jié)點中只包含一個指針域,故又稱單鏈表或線性鏈表。 1.2計算機輔助教學(xué)的現(xiàn)狀 在我國 CAI 的發(fā)展歷史是從 90 年代開始的,CAI 在國內(nèi)也引起了廣泛的興趣。在近幾 十年來,出現(xiàn)了多媒體計算機,被稱為是計算機的一場革命,它具有能綜合處理圖像,聲 音,圖形以及文字等能力,這也顯示了計算機在教育方面有著非凡的作用。國家教委也認 識到了 CAI 在深化教育改革中起著重要地位,于是在 1995 年批準成立了“中央電化教育 館計算機輔助教學(xué)研究中心” 。在 1996 年底,國家教委的多方努力下,正式批準了“計算 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) 3 機輔助教學(xué)軟件研制開發(fā)與利用可以作為“九五”國家重大科技攻關(guān)項目之一,這也從一 個側(cè)面預(yù)示著 CAI 在未來會無比的輝煌,就從目前 CAI 發(fā)展?fàn)顩r來看,使用 CAI 這一現(xiàn)代 化的教育技術(shù)是教育發(fā)展的必然趨勢。 目前我國計算機輔助教學(xué)的現(xiàn)狀有一下三點: (1)過分夸大計算機輔助教學(xué)的作用:夸大 CAI 作用,以 CAI 代替?zhèn)鹘y(tǒng)教學(xué)的做法 是不現(xiàn)實的。盡管利用計算機的聲、形、色、光可以解決很多傳統(tǒng)課堂教學(xué)中不能解決的 問題,克服傳統(tǒng)教學(xué)在時間和空間上的限制,使教師講解更直觀、更清晰、更具有吸引力, 學(xué)生學(xué)得更快且印象更深。不管 CAI 的功能如何完善,怎樣先進,它們都不可能完全取代 傳統(tǒng)教學(xué)手段。我們知道,教師的工作重點在教育教學(xué),投入大量時間、精力編寫課件, 顯然是本末倒置,得不償失。而 CAI 作為一種現(xiàn)代教學(xué)手段重點放在“輔助”二字,也就 是說 CAI 只是一種教學(xué)輔助手段, 是用來支持教學(xué)工作, 解決傳統(tǒng)教學(xué)不容易解決的問題。 同時,傳統(tǒng)教學(xué)有其自身的優(yōu)勢,因為傳統(tǒng)教學(xué)手段和模式是教育工作者通過辛勤勞動總 結(jié)出的一套行之有效的方法,具有豐富的遺產(chǎn)和寶貴的教學(xué)經(jīng)驗,我們不能全盤否定。即 使教師不借助計算機輔助教學(xué),仍能利用傳統(tǒng)教學(xué)中的講授、演示、練習(xí)等教學(xué)方法把某 些復(fù)雜的問題講透徹,這說明傳統(tǒng)教學(xué)手段是任何現(xiàn)代技術(shù)不能代替的,至今仍有強大的 生命力。 (2)課堂容量過多:運用 CAI 若出現(xiàn)過多的概念、原理及規(guī)律,過快的展示知識點 及推理過程等,過分加大課堂的容量,會造成一些負面影響。首先,學(xué)生在課堂上是否真 正理解了這么多的內(nèi)容?傳統(tǒng)教學(xué)方式雖然展示速度慢一些,但它能夠留給學(xué)生充分的時 間思考,這對知識的掌握以及思維的培養(yǎng)都是至關(guān)重要的。其次,如果教學(xué)內(nèi)容太多,即 使課堂上能夠理解,課后又是否能夠消化得了這些內(nèi)容呢?這種由原來的“人灌變?yōu)闄C 灌” ,學(xué)生更受不了,這顯然違背了“素質(zhì)教育”原則中反對“注入式” 、 “填鴨式”的教 學(xué)方式。最后,多種感官刺激時間一長,會造成疲勞感,教學(xué)效果反而降低。一節(jié)課下來, 回憶教學(xué)內(nèi)容,學(xué)生可能只記住某個精彩的動畫、某段優(yōu)美的音樂,沒有留下多少實在的 語言文字。教師適時、適當(dāng)、適度地使用 CAI 課件去分析教材內(nèi)容,講解學(xué)習(xí)新知識的方 法,培養(yǎng)學(xué)習(xí)各種能力,才能優(yōu)化課堂結(jié)構(gòu)。 (3)其它現(xiàn)狀:實際上,現(xiàn)在計算機真正輔助教學(xué)的頻率并不高。比如,有些學(xué)校 還不具備配置多媒體設(shè)備的條件,即使有硬件設(shè)施,真正配套適用的課件也不多;有的學(xué) 校只在各學(xué)科教師上公開課或優(yōu)質(zhì)課時,才用 CAI,并且課件是請計算機教師臨時幫忙做 的;或者即使買來教學(xué)軟件,由于課件設(shè)計者,不一定能按教師上課的思維模式來制作, 沒有充分考慮學(xué)生的學(xué)習(xí)需要, 結(jié)果其形式單一和靈活性較差, 使用起來有一定的局限性。 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) 4 即使諸多的現(xiàn)狀限制了 CAI 的開展。但是伴隨著時代的進步,電子技術(shù)的飛速發(fā)展, 全球網(wǎng)絡(luò)進程的加快,社會的各行各業(yè)都運用到了計算機這種現(xiàn)代技術(shù)工具,當(dāng)下仍有不 少學(xué)校和公司都開始使用大屏幕投影或液晶投影進行教學(xué),培訓(xùn),開會等。 在張旭.淺談計算機輔助教學(xué)中存在的問題及對策J中,我知道計算機作為一種媒 體,與其他教學(xué)媒體(像黑板,教科書,投影儀等)沒什么差別,因此可以幫助教師提高 教學(xué)效果,擴大教學(xué)范圍,延伸教師的教育功能。課堂教學(xué)不管在當(dāng)下還是今后的漫長時 期,都會是學(xué)校教學(xué)活動的主要場所,因此,CAI 作為一種現(xiàn)代化的教學(xué)技術(shù),都將集中 體現(xiàn)在課堂教學(xué)中。計算機不僅僅能呈現(xiàn)單純的文字,數(shù)字等字符的教學(xué)信息,而且還可 以輸出動畫,視頻,圖像和聲音,能非常容易的就做到教學(xué)信息的圖、文、聲并茂,這種 多維立體的教育信息傳播,增強了信息的真實感和表現(xiàn)力,此外,學(xué)生可以利用一定的輸 入輸出設(shè)備,采用人機交互的方式進行學(xué)習(xí),加深學(xué)生的理解,這是計算機媒體所特有的 功能。 很多年以來,我們的課堂一直都是教師用黑板板書,口頭說教,學(xué)生們用筆記錄, 耳朵聽講,因此,學(xué)生和老師都形成了一種一定的思維定勢。隨著時代的發(fā)展,信息科學(xué) 技術(shù)的進步,人類的教育水平和手段也在不斷提高。近 30 年以來,計算機輔助教學(xué)(CAI) 興起,利用計算機來幫助教師執(zhí)行教學(xué)功能,教師運用計算機輔助教學(xué)的手段,激發(fā)學(xué)生 興趣。這樣,教師在教學(xué)途中可以運用計算機呈現(xiàn)教學(xué)計劃,教學(xué)內(nèi)容以及記錄學(xué)生的學(xué) 習(xí)情況和控制學(xué)習(xí)進程等,教師也可以在教學(xué)中根據(jù)本學(xué)科的特點,制作各式的課件,軟 件,使原本抽象,死板的課堂氛圍一下子變得生動,活躍起來,把教師的主導(dǎo)型和學(xué)生的 主體性也充分的發(fā)揮出來了! 我通過查詢文獻:高新奇,隋賢俊,秦懷斌.計算機輔助教學(xué)的應(yīng)用現(xiàn)狀和分析J 中,了解了計算機輔助教學(xué)是一種新型的教學(xué)方式,在課堂教學(xué)中起著非常重要的作用, 但是在教學(xué)實踐中,一些教師由于對計算機輔助教學(xué)的理解不到位,致使在計算機輔助教 學(xué)中出現(xiàn)各種各樣的問題。忽視計算機輔助教學(xué)與過分依賴計算機輔助教學(xué)是目前計算機 輔助教學(xué)中出現(xiàn)的兩種錯誤觀點。對計算機輔助教學(xué),我們應(yīng)該客觀的對待,計算機是一 種現(xiàn)代技術(shù),對課堂教學(xué)起著非常重要的作用,它可以豐富課堂教學(xué)的內(nèi)容,活躍課堂教 學(xué)的氛圍,激發(fā)學(xué)生學(xué)校的熱情,同時計算機在課堂教學(xué)中并不是萬能的,它無法代替教 師與學(xué)生進行相關(guān)的交流,在計算機輔助教學(xué)中,應(yīng)充分地發(fā)揮教師的主導(dǎo)性與學(xué)生的主 體性。 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) 5 1.3 計算機輔助教學(xué)的意義 CAI 的應(yīng)用范圍較廣,就目前一般應(yīng)用在:一是計算機出題;二是總結(jié)和考試;三是 自學(xué)與輔導(dǎo);四是多媒體輔助教學(xué)。在這里,我主要研究的是計算機的多媒體輔助教學(xué), 其作用主要表現(xiàn)在: (1)提高學(xué)習(xí)興趣 教師在教學(xué)中都知道,用傳統(tǒng)的工具(黑板、粉筆、紙、筆及掛圖等)演示講解,內(nèi) 容抽象、形式單一。運用多媒體輔助教學(xué)不僅具有直觀、形象、生動、信息量大,傳遞方 便的特點,而且還能實現(xiàn)大與小、遠與近、快與慢、虛與實之間的轉(zhuǎn)換,可將書本知識化 靜為動,化虛為實,化抽象為直觀,直接作用于學(xué)生的多種感官,生動的畫面,形象的演 示,給人以耳目一新的感覺,能夠深深的吸引學(xué)生,提高學(xué)習(xí)興趣。 (2) 增進交互作用 這是 CAI 較傳統(tǒng)教學(xué)手段的最重要和最根本的優(yōu)勢。所謂交互作用就是計算機與學(xué)生 之間的積極的信息交流。計算機將已設(shè)計好的課程信息逐一動態(tài)地呈現(xiàn)給學(xué)生,各教學(xué)階 段都讓學(xué)生有思考、回答或詢問的機會,從而能對學(xué)生進行個別輔導(dǎo);學(xué)生亦能根據(jù)自己 的特點、興趣和水平選擇內(nèi)容、進度和學(xué)習(xí)途徑,對學(xué)生來說,學(xué)習(xí)不再是一種被動的接 受,是在一種輕松愉快的環(huán)境中進行。 計算機多媒體教學(xué)可以將抽象的內(nèi)容形象化,靜止的內(nèi)容動態(tài)化,以便于學(xué)生獲取準 確深刻的直觀感知,從而形成完整的理性認識。這樣可以降低難度,激發(fā)學(xué)習(xí)興趣,增大 教學(xué)信息量,優(yōu)化教學(xué)過程,突破教學(xué)難點,取得最佳的教學(xué)效果。以計算機為中心的多 媒體輔助教學(xué)手段與傳統(tǒng)教學(xué)手段有機結(jié)合,共同參與教學(xué)過程,可以突出教學(xué)重點,化 解教學(xué)難點,使學(xué)生在最佳的情境中學(xué)習(xí)。 它的發(fā)展趨勢:一是網(wǎng)絡(luò)化,網(wǎng)絡(luò)化進程加快,信息資源相當(dāng)?shù)呢S富,所以我們可以 了利用網(wǎng)絡(luò)資源來制作自己的軟件和課件:視頻技術(shù)在教學(xué)中的應(yīng)用,我們可以把自己優(yōu) 秀的課例通過視頻編輯后在網(wǎng)上發(fā)布,也可以通過觀看優(yōu)秀顆粒和自己需要的資料,最終 來實現(xiàn)通過網(wǎng)絡(luò)的交流。二是智能化,CAI 正向著智能化發(fā)展,虛擬的社會學(xué)習(xí)系統(tǒng),計 算機作為導(dǎo)師,同學(xué),同時作為教師與學(xué)習(xí)伙伴,學(xué)院,我可以利用這一點,做到知利用 一根網(wǎng)線和一臺計算機,就可以實現(xiàn)在網(wǎng)絡(luò)上的學(xué)習(xí)交流互動,并且可以采用“面對面” , “超越時空”的形式進行溝通學(xué)習(xí)。 此上,我國已經(jīng)認識到計算機輔助教學(xué)在教育教學(xué)中的重要作用,我們應(yīng)采用積極的 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) 6 態(tài)度:對 CAI 軟件的開發(fā)做理論上,技術(shù)上以及應(yīng)用方面的深入研究,這都是促進 CAI 不 斷發(fā)展的基礎(chǔ)工作。 此外,計算機輔助教學(xué)是一把雙刃劍,只要我們轉(zhuǎn)變傳統(tǒng)的教育觀念、教育方法和教 育手段,勤于探索,重視教育教學(xué)過程中的新問題,不斷努力提高設(shè)計和應(yīng)用 CAI 教學(xué)課 件的能力, CAI 必將起到畫龍點睛的作用,也將進一步推動教育事業(yè)的發(fā)展。 1. 4 系統(tǒng)建設(shè)的目的 科學(xué)技術(shù)越來越發(fā)展,我們就更加容易操作和駕馭,計算機技術(shù)的迅速發(fā)展勢必將 推動 CAI 想著更先進、更高水平的方向發(fā)展,在教育學(xué)領(lǐng)域最終實現(xiàn)人機交互,對我國的 教育事業(yè)最終起到大大的推進作用,該系統(tǒng)建設(shè)的目的有幾下幾點: (1)該系統(tǒng)可以使學(xué)生深入理解教材的內(nèi)容,掌握基本的數(shù)據(jù)結(jié)構(gòu)以及相應(yīng)的算法 實現(xiàn)過程,可以起到很好的幫助作用。 (2)該系統(tǒng)能實現(xiàn)多維立體的教育信息的傳播,增強信息的真實感和表現(xiàn)力。 (3)該系統(tǒng)可以使教學(xué)內(nèi)容化靜為動,調(diào)動學(xué)生學(xué)習(xí)興趣的同時可以讓自身收獲滿 足。 根據(jù)以上三點我們就可以知道這個系統(tǒng)的建設(shè)是非常必要的。 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) 7 第二章第二章 需求分析需求分析 2.1 可行性分析 2.1.1 技術(shù)可行性研究 在 IT 行業(yè)中,從業(yè)的工作人員一般都要求懂計算機,并且具有一定的軟硬件的基礎(chǔ), 會使用各種管理軟件,熟悉各式的 IT 產(chǎn)品。因為該系統(tǒng)是針對數(shù)據(jù)結(jié)構(gòu)算法進行的動態(tài) 演示,這樣使得學(xué)生更能理解算法和培養(yǎng)學(xué)生的興趣,又因為學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)這門課的學(xué)生 和老師一般都是計算機專業(yè)的學(xué)生,所以在新系統(tǒng)投入使用時,用戶都能夠很快的使用這 個系統(tǒng)。 2.1.2 操作可行性研究 本系統(tǒng)采用 windows 圖形界面,這是大家所熟悉的操作系統(tǒng),所以,對于用戶只需要 具有一般的計算機知識的人員就可以得心應(yīng)手,而且,整個系統(tǒng)采用的是最友好的人機交 互界面,簡潔明了,不需要對數(shù)據(jù)庫的了解,由此,該系統(tǒng)的操作是可行的,有必要推廣 該系統(tǒng)! 綜上:該系統(tǒng)具有很高的開發(fā)可行性,不管是技術(shù)上還是操作上的。 2.1.3 非功能性需求分析設(shè)計思想 課件是教學(xué)內(nèi)容和教學(xué)處理兩大類信息的有機結(jié)合,它的目的是按照某種學(xué)習(xí)理論 和教學(xué)策略將教學(xué)中的重點和難點,教學(xué)上不容易憑空講解出來的內(nèi)容,通過計算機的演 示。CAI 系統(tǒng)在注重教學(xué)先進性、科學(xué)性的同時更強調(diào)實用性。開發(fā)需要滿足一下幾個原 則: (1)內(nèi)容覆蓋面要廣:系統(tǒng)應(yīng)該覆蓋本課程的主要內(nèi)容,并且結(jié)合教程選用教材, 選擇語言描述數(shù)據(jù)結(jié)構(gòu)的算法。 (2)功能的實用化:為了能夠真正起到教學(xué)的效果,系統(tǒng)使用了多種演示手段,如: 單步跟蹤、連續(xù)實行和跨越函數(shù)(或過程)調(diào)用等方式來演示算法的具體執(zhí)行過程,并且 演示方式可以隨時更換,演示的速度也可以隨時調(diào)節(jié)。 (3)人機交互界面的友好性:系統(tǒng)界面設(shè)計遵循實用,方便的原則,各種操作簡潔 明了。同時具備鼠標(biāo)借口和鍵盤接口,可以接受來自鼠標(biāo)或者鍵盤的輸入,為了加深對算 法的理解,允許用戶通過輸入不同的初始數(shù)據(jù)來觀察算法的具體執(zhí)行情況。 (4)系統(tǒng)環(huán)境的運行及其可靠性,在保證系統(tǒng)功能的前提下,適當(dāng)?shù)慕档土讼到y(tǒng)對 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) 8 運行環(huán)境的要求,以便系統(tǒng)可以在較低的配置系統(tǒng)軟件環(huán)境中正常運行,對于各種有意或 者無意的錯誤操作以及錯誤的輸入數(shù)據(jù),系統(tǒng)可以正確處理,保證系統(tǒng)不會意外終止。 2.2 項目概述 2.2.1 設(shè)計要求 利用鏈表的插入運算建立線性鏈表,然后利用鏈表生成,插入,刪除,修改等運算反 復(fù)實現(xiàn)鏈表的這些操作(創(chuàng)建,插入,刪除,修改單獨寫成函數(shù)的形式),并能在界面上 顯示操作前后的結(jié)果。 2.2.2 算法的功能分析 首先通過定義一個動態(tài)鏈表節(jié)點的結(jié)構(gòu)體,然后根據(jù)結(jié)構(gòu)體定義相應(yīng)的操作: (1)定義一個創(chuàng)建鏈表的函數(shù),通過該函數(shù)可以生成一個鏈表,并為以下函數(shù)應(yīng)用 做好準備工作。 (2)定義插入節(jié)點的操作,此算法用于對鏈表中某個需要增加節(jié)點的插入操作。 (3)定義刪除節(jié)點的操作,此算法用于對鏈表中某個多余節(jié)點的刪除工作。 (4)定義修改節(jié)點的操作,此算法用于對鏈表中某個錯誤的節(jié)點進行修正工作。 (5)為實現(xiàn)代碼追蹤,使節(jié)點的生成與代碼同步演示,使其更加形象。 (6)定義自己創(chuàng)建的特殊操作,可以使自己做的系統(tǒng)更豐富。 2.2.3 算法的設(shè)計分析: 在計算機科學(xué)中,鏈表作為一種基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)可以用來生成其它類型的數(shù)據(jù)結(jié)構(gòu)。 鏈表通常由一連串節(jié)點組成,每個節(jié)點包含任意的實例數(shù)據(jù)(data fields)和一或兩個 用來指向上一個/或下一個節(jié)點的位置的鏈接(“l(fā)inks“)。鏈表研究最大的價值就是,常 規(guī)數(shù)組排列關(guān)聯(lián)項目的方式可能不同于這些數(shù)據(jù)項目在記憶體或磁盤上順序,數(shù)據(jù)的存取 往往要在不同的排列順序中轉(zhuǎn)換。而鏈表是一種自我指示數(shù)據(jù)類型,因為它包含指向另一 個相同類型的數(shù)據(jù)的指針(鏈接)。鏈表允許插入和移除表上任意位置上的節(jié)點,但是不 允許隨機存取。鏈表有很多種不同的類型:單向鏈表,雙向鏈表以及循環(huán)鏈表。 (1)建立鏈表:動態(tài)的申請新的節(jié)點,不斷的將新的節(jié)點插入鏈表。同時增加功能, 使其能夠讓當(dāng)前節(jié)點通過左右移動,使動畫更生動。 (2)插入:通過選擇鏈表的位置,你可以將節(jié)點插入鏈表中的任意地方,寫一個函 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) 9 數(shù),使鏈表可以動態(tài)的一步步生成。 (3)刪除:選擇多余的節(jié)點可以直接點擊刪除。 (4)修改:發(fā)現(xiàn)有錯誤的節(jié)點可以及時的修改成你所需要的任意數(shù)據(jù)。 (5)此外,為了豐富畢業(yè)設(shè)計,我新增加了兩個特殊操作,清空和翻轉(zhuǎn)。 2.3 需求規(guī)定 2.3.1 對功能的規(guī)定 本次畢業(yè)設(shè)計主要是為了實現(xiàn)對鏈表的創(chuàng)建,插入,刪除,修改操作,設(shè)計主要分為 主程序(program.cs),節(jié)點類(Link.cs),鏈表操作(Linklist.cs),從而形成一個小型 的鏈表操作系統(tǒng)。 小型系統(tǒng)初步實現(xiàn)了對鏈表創(chuàng)建,插入,刪除,修改的基本功能,程序中運用程序模 塊設(shè)計思想將程序合理的進行模塊化使得程序從空間,時間上進行了合理的設(shè)計。程序主 要由一下函數(shù)組成:drawnode(),setlo(),drawaid()等等,程序合理的通過函數(shù)調(diào) 用以及合理的參數(shù)傳遞順利的完成了鏈表的功能,一個好的程序還需要一個良好的用戶界 面,程序中制作了一個簡單,大方,明了的界面使程序更加完善。 2.3.2 項目陳述 (1)建立動態(tài)鏈表 我這邊主要是自己寫了一個 drawnode()的函數(shù),它可以滿足我的需求,把鏈表給畫 出來,此外你還可以設(shè)置其顏色,字體,大小等,使用了一個 Timer 控件,更加可以讓它 一步一步的生成鏈表,自然鏈表節(jié)點的個數(shù)也是由我在代碼內(nèi)控制的,你可以修改,另外 我還做了 int 型的控制,這樣就不可以輸入字母以及其他符號了。 (2)設(shè)計的總體思想 對于單鏈表的操作,我主要用到兩個類,分別是 Link 類和 Linklist 類。Link 類主要 是用于建立節(jié)點的類,這個類包含數(shù)據(jù)內(nèi)容 data 和“指針” ,其中 next 用于指向下一個 節(jié)點來實現(xiàn)單鏈表的連接。而 Linklist 類主要是用于進行對單鏈表的各種操作,例如: 初始化頭節(jié)點的鏈表,鏈表的前后移動,還有鏈表的翻轉(zhuǎn),清空,刪除,取特定節(jié)點的數(shù) 值,修改,顯示,前插和后插等各種操作。所有的操作都是基于 Linklist 中的兩個私有 變量 head 和 s,利用他們實現(xiàn)節(jié)點的查找和定位。 代碼如下: 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) 10 using System; using System.Collections.Generic; using System.Text; namespace Singly_Linked_List class Link public int data; public Link next; 這邊,對于單鏈表的頭插法操作,如下圖(圖2.3.2) 圖2.1單鏈表的頭插法操作 1:建立新節(jié)點; 2:向新節(jié)點中添加內(nèi)容; 3:使新節(jié)點指向鏈首; 4:改變頭指針。 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) 11 2.3.3 模塊結(jié)構(gòu)圖 生成單鏈表 插入修改翻轉(zhuǎn)清空 頭尾 前后 刪除 頭尾 當(dāng)前 圖2.2 模塊結(jié)構(gòu)圖 首先我們生成一個單鏈表,然后其次插入,修改,翻轉(zhuǎn),清空,刪除是我對該系統(tǒng)所 能在鏈表上實現(xiàn)的具體操作,對于插入和刪除我們可以選擇特定的節(jié)點進行變動。這就是 我做的算法操作動態(tài)演示軟件設(shè)計與開發(fā)鏈表。 2.4 運行環(huán)境設(shè)定 2.4.1 設(shè)備 MicrosoftWindows; Server 要求內(nèi)存 256 以上; cpu2.0GHz 以上。 2.4.2 支持軟件 操作系統(tǒng):windows 系統(tǒng) Visual Studio2012,C#語言。 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) 12 2.4.3接口 提供鏈表節(jié)點生成,插入,刪除,修改,清空,翻轉(zhuǎn)等操作的界面。 2.4.4控制 系統(tǒng)的主要輸入設(shè)備是鍵盤。 輸出主要是顯示器輸出。 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) 13 第三章第三章 系統(tǒng)設(shè)計系統(tǒng)設(shè)計 系統(tǒng)的核心部分就是要求動畫演示,變量跟蹤和源代碼,同步演示的實現(xiàn),由每一個 算法的演示都要求實現(xiàn)這部分。 3.1 設(shè)計的總體思想 打開 Visual Studio2012,新建一個項目,選擇 Windows 窗體應(yīng)用程序,打開工具欄, 添加你所需要的控件,在界面顯示,更改屬性,使界面更美觀,其次為每個控件添加事件, 此外自己也需要額外寫一些函數(shù)方法,從而實現(xiàn)你所需要的功能。如下兩個函數(shù)是我做的 一個項目 = 節(jié)點 + 箭頭。 節(jié)點連接的指向箭頭: public void drawaid(int x, int y, int w, int h, int line, int i, int tem) int gx, gy, wid, hei; wid = w; hei = h; Graphics myg = pictureBox1.CreateGraphics(); Brush aid = new SolidBrush(Color.Blue); Font fo = new Font(“Arial“, 24); if (i != myLink.count) if (i % 5 = 0)/判斷節(jié)點是否到達一行的尾部 gx = x + wid / 2 - 10; gy = y - 90 + hei; myg.DrawString(“, fo, aid, gx, gy); else gx = x - tem + wid; gy = y - hei / 2 + 30; if (line % 2 = 0)/判斷當(dāng)前行數(shù),奇數(shù)行右箭頭,偶數(shù)行左箭頭 gx += tem; myg.DrawString(“, fo, aid, gx, gy); else myg.DrawString(“, fo, aid, gx, gy); 南通大學(xué)杏林學(xué)院畢業(yè)設(shè)計(論文) 14 繪畫節(jié)點的過程: / / 繪畫 / public void drawnode() Point pl = pictureBox1.Location; int line = 1; int dx, dy, tem, limit; int wid, hei; dx = pl.X + 35; dy = pl.Y; tem = (pictureBox1.Width - 50) / 5; wid = tem - 35;
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)數(shù)學(xué)新人教版一年級下冊20以內(nèi)口算練習(xí)題大全
- 遼寧工程技術(shù)大學(xué)《建筑工程概預(yù)算課程設(shè)計A》2023-2024學(xué)年第一學(xué)期期末試卷
- 四川省瀘州市納溪區(qū)2024年中考數(shù)學(xué)適應(yīng)性考試試題含答案
- 九州職業(yè)技術(shù)學(xué)院《數(shù)字化運營管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院《兒童文學(xué)與兒童劇創(chuàng)編》2023-2024學(xué)年第一學(xué)期期末試卷
- 吉安幼兒師范高等專科學(xué)?!缎竽廖⑸飳W(xué)實驗》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖南理工學(xué)院《導(dǎo)游實務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖北生物科技職業(yè)學(xué)院《歷史學(xué)綜合素質(zhì)指導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 【物理】《彈力》(教學(xué)設(shè)計)-2024-2025學(xué)年人教版(2024)初中物理八年級下冊
- 高考物理模擬測試題(含答案)
- 《陸上風(fēng)電場工程概算定額》NBT 31010-2019
- 原油脫硫技術(shù)
- 部編版初中語文七至九年級語文教材各冊人文主題與語文要素匯總一覽表合集單元目標(biāo)能力點
- 工程項目收入情況統(tǒng)計表
- GB/T 29490-2013企業(yè)知識產(chǎn)權(quán)管理規(guī)范
- GB/T 14436-1993工業(yè)產(chǎn)品保證文件總則
- 湖南省鄉(xiāng)鎮(zhèn)衛(wèi)生院街道社區(qū)衛(wèi)生服務(wù)中心地址醫(yī)療機構(gòu)名單目錄
- 《中外資產(chǎn)評估準則》課件第6章 英國評估準則
- FZ∕T 63006-2019 松緊帶
- 罐區(qū)自動化系統(tǒng)總體方案(31頁)ppt課件
- 工程建設(shè)項目內(nèi)外關(guān)系協(xié)調(diào)措施
評論
0/150
提交評論