freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

c數據結構算法演示系統(tǒng)(doc畢業(yè)設計論文)(存儲版)

2025-07-28 08:22上一頁面

下一頁面
  

【正文】 結構算法演示系統(tǒng)已經成型。同時我還要感謝我的輔導老師,正是因為她的辛勤教導,才有我們今天的成果。由于個人設計水平有限,所該系統(tǒng)還有許多不盡如人意的地方,比如用戶界面不夠美觀,出錯處理不夠等多方面問題。系統(tǒng)中也存在這樣或那樣的不足之處:,其中包括一元多項式的表示及相加、表達式求值、數制轉換等;,都是一步操作,沒能實現(xiàn)單步操作,沒能更好的結合算法單步執(zhí)行程序。本模塊探討的是最短路徑的問題,解決這個問題能幫助節(jié)約時間成本。 在圖搜索模型的實現(xiàn)中,我們利用BCB文本輸入組件的特性,設計了如下界面: 圖338 圖搜索界面圖圖搜索的運行結果如圖330所示: 圖339 圖搜索運行結果 開 始生成頂點設定連線執(zhí)行搜索停 止 圖340 圖搜索流程圖如圖331所示流程,模塊運行后,單擊“生成頂點”按鈕,將在右下方出現(xiàn)提示:“請在繪圖窗口中點擊鼠標右鍵”以生成所畫圖的頂點,然后點擊“設定連線”,選擇要連線的兩個頂點序號,這里可以多次連線任意兩個頂點。本系統(tǒng)執(zhí)行結果如下: 圖336 圖表示的運行結果開 始輸入頂點數選擇邊的走向顯示圖形停 止 圖337 圖表示法流程圖如圖328所示,打開程序以后,單擊“New”按鈕,也可在菜單中的文件里打開,效果是一樣的,系統(tǒng)將彈出一個對話框,首先輸入頂點的數目(本系統(tǒng)只可以在1~4中選擇一個數字),接著手動來設置每個頂點的邊的走向,即那兩個頂點間有一條邊連接起來,最后單擊“圖形顯示”后,彈出一個新的對話框來顯示你所定義的圖的結構。開 始輸入結點值是否根是否NO比根大?插入右子樹是 直接插入 找到所插位置根結點插入左子樹否循環(huán)輸入查 找 圖334 類別二叉樹流程圖圖是由一個頂點集 V 和一個弧集 R構成的數據結構。 界面如下: 圖328 結構二叉樹界面此模塊除了包含數組二叉樹的功能外,還可以通過點擊結構內容顯示按鈕來顯示每個結點值以及左子樹和右子樹的索引值。i=WinExec((),SW_SHOWNORMAL)。在編寫完代碼后,在經過幾次調試,循環(huán)隊列的程序設計結構就已經設計好了,以下是窗體及控件的運行結果:加入數據數據數據3,隊列后端指針rear指向3,并將數據分別存儲于隊列的索引位址3當中,如圖319所示: 圖319 輸入三個數據加入第4筆數據后(以取余數的技巧讓后端連接隊列的啟始位址)如圖320所示: 圖320 輸入第4個數據若繼續(xù)加入數據,系統(tǒng)會提示取代的信息界面(默認為否),如圖321所示: 圖321 是否取代暫存數據單擊“是”,決定取代原有的暫存數據(即用數據5取代暫蹲數據1)如圖322所示: 圖322 取代暫存數據取出數據操作(取出數據5),如圖323所示: 圖323 取出數據開 始輸入數據是否溢出NO棧 滿YES覆 蓋取出數據NO是否??胀?止YES 圖324 循環(huán)隊列流程圖根據圖324操作,單擊“加入”按紐后會彈出一個“隊列數據輸入框”以輸入數據,在添加數據后,系統(tǒng)中間會顯示輸入的的數據,當連續(xù)輸入四個數據后,系統(tǒng)會出現(xiàn)紅色提示“FULL”,表示該循環(huán)隊列已經滿了,如果在繼續(xù)輸入數據,則按照“覆蓋”的原則,將原有的數據覆蓋掉,連續(xù)單擊“取出”,可將輸入的數據依次取出,直到隊列為空(EMPTY)為止,單擊“結束”即可退出該模塊。隊尾指針進1: rear = (rear+1) % maxsize。 圖312 入隊操作隊滿:如圖313所示,紅色的“FULL”出現(xiàn),表示此隊列已經滿了。x) {//刪去隊頭結點,并返回隊頭元素的值 if ( QueueEmpty (Q) ) return 0。}入隊:int EnQueue ( LinkQueue *Q, QueueData x ) { QueueNode *p = ( QueueNode * ) malloc ( sizeof ( QueueNode ) )。和棧相反,隊列是一種先進先出(first in first out,縮寫為FIFO)的線性表。單擊窗體中的Edit對象inp,再單擊對象檢視窗口面板中OnKeyUp事件進入程序編輯窗口,輸入程序。}//Pop =(ElemType *)malloc(STACK_INIT_SIZE*sizeof(ElemType))。棧的基本操作除了在棧頂進行插入或刪除之外,還有棧的初始化、判空及取棧頂元素等。我們希望該菜單系統(tǒng)能實現(xiàn)以下的功能:當選擇“退出”按鈕時即可退出該程序。(6) UnMerge方法,用來將非MDI應用程序中已經合并的主菜單分開,回復到合并前的狀態(tài)。幫助菜單由關于和幫助組成,是本系統(tǒng)的一些簡單幫助信息。在出現(xiàn)錯誤時,會立刻知道錯誤發(fā)生的位置。一般來說,通過很多的bugs測試后,應用程序在運行是應該不會出現(xiàn)什么錯誤。使用這條語句可以捕捉到所有的異常。這個機制完全可以按照需要自定義。一些重要的、處理的錯誤可能會在窗體之外發(fā)生。 (1)寫易讀的代碼 第一點,大概也是最重要的一點,就是寫干凈易讀的代碼。FocusControl屬性是窗口控件類,用來指定一個與標簽相連的窗口控件。Edit和MaskEdit是一個窗口控件,它可以獲得輸入焦點。因此,無論是大型的數據庫應用系統(tǒng)開發(fā),還是小型的數據庫管理系統(tǒng),C++ Builder都有其用武之地。比如,非Windows環(huán)境上的Java應用程序,可以通過CORBA IIOP使用C++ Builder開發(fā)出來的應用程序服務器。進年來,隨著數據庫系統(tǒng)的不斷發(fā)展,在數據結構課程中又增加了文件管理(特別是大型文件的組織等)的內容。而這門課程一直因為過于抽象,難以理解,而讓人望而止步。數據結構是數據存在的形式。 數據結構算法演示系統(tǒng)在計算機的屏幕上顯示算法執(zhí)行過程中數據的邏輯結構或存儲結構的變化狀況或遞歸算法執(zhí)行過程中棧的變化狀況。更生動,更具體的描繪了這些算法。整個系統(tǒng)使用菜單驅動方式,每個菜單包括若干選項。如在文中涉及抄襲或剽竊行為,本人愿承擔由此而造成的一切后果及責任。此演示系統(tǒng)包括了線形表、棧和隊列、樹、圖四個模塊。方法及預期目的:方法:本數據結構算法演示系統(tǒng)是基于C、C++語言,在C++,開發(fā)出來的一種算法演示系統(tǒng)。“等級”用優(yōu)、良、中、及、不及五級制(可按學院制定的畢業(yè)設計(論文)成績評定辦法評定最后成績)。系統(tǒng)一直處于選擇菜單項或執(zhí)行動作狀態(tài),直到選擇了退出動作為止,它分別演示了數組、堆棧、隊列、線形表、樹、圖等基本數據結構。隨后,數據結構這個概念被擴充到包括網絡、集合代數論和關系等方面。在這之前,它的某些內容曾在其它課程,如表處理語言中有所闡述。C++ Builder既適用于基于ORB的分布式開發(fā),又適用于基于COM的Windows開發(fā)。C++ ,強化了對Microsoft Visual C++源代碼的兼容性,可以直接編譯MSDN與各種SDK中的范例程序。C++ Builder強化了原有的Module View、EventLog View及Inspect Local Variable等調試窗口的功能,并在Windows NT環(huán)境中提供多線程調試的新功能,使用戶可以在某一特定過程中跟蹤程序代碼。編輯框常用的幾個屬性如下:Text屬性是一個String類型的數據,它決定了在編輯框中出現(xiàn)的文本字符串。Lines屬性是一個TStrings類的一個對象,它是由多個字符串組成的,每一個字符串就是Lines中的一個元素。這樣的代碼,在寫的時候可能會稍稍慢一些,不過,當你調試程序時,就不會花上幾個小時來尋找bugs,相反,你可以快速,簡單的完成除錯工作。由于以上的原因,我們需要一個這樣的機制,它能讓我們不能忽略這些錯誤,而且,這個機制應該能被我們控制和自定義的。{ /* 異常處理代碼/}這個機制很強大,甚至可以用它來捕捉樹結構或是繼承類的異常,如果捕捉了基類的異常,它就能捕捉到繼承這個基類的所有的類的異常。 (3)使用記錄機制 不可能總是用調試器來調試代碼,在某些情況下,可能無法使用內部集成的調試器,這時候,就不得不依靠其他手段調試程序了。這個技術很簡單?;谏鲜龅腃++Builder的優(yōu)點,以及和其他軟件的對比,所以我決定使用WindownsXP作為操作系統(tǒng)、C/C++做為開發(fā)語言,C++,易于實現(xiàn)這個系統(tǒng),對于數據結構的學習和教學都是相當合適的。(2) Handle屬性可以用來為菜單提供一個對Windows菜單句柄的訪問。比如雙擊【退出】控件,加代碼如下:Void_fastcall TForm1::S1Click(TObject*Sender){ShowMessage(“選項中退出選項”)}現(xiàn)在主菜單已經有個雛形了。在外觀上,我們選擇了菜單的結構設計,其中第一用做顯示說明的對話框,下一個用來顯示修改說明的對話框,以及在頂部設計了一條“歡迎使用數據結構演示系統(tǒng)”的歡迎語。//若棧不為空,則用e返回S的棧頂元素,并返回OK,否則返回ERROR.S,ElemType e){if(=){//棧滿,追加存儲空間}//status Pop(SqStack amp。if(==) return (0)。else return (1)。在模塊左下的空白框里輸入堆棧內容后,安“Enter”,接著系統(tǒng)自動判斷棧是否滿,當棧滿時,程序會顯示紅色的“FULL”,如果棧未滿,可以繼續(xù)輸入元素到堆棧里。假設隊列為Q=(a1,a2,…,an),那么,a1就是隊頭元素,an則是隊尾元素。 if ( Qfront == NULL ) //空,創(chuàng)建第一個結點 Qfront = Qrear = p。 //保存隊頭的值 Qfront= Qfrontlink。 圖315 隊空隊列(Queue)也是有序列表(Order List),隊列具有先進先出的特性(First In First Out),輸入與輸出在不同端,就好象辦事或買東西時排隊一樣。隊滿條件:(rear+1) % maxsize == front。二叉樹是每個結點最多有兩個子樹的有序樹。而后定義結構數組類型來存放結點。通過調用WinExec函數,以執(zhí)行外部命令的方式,來完成類別二叉樹模型的演示。圖表示設計:本系統(tǒng)是在多文檔界面下所呈現(xiàn)的圖的表示法(領接數組表示法),本系統(tǒng)是直接采用BCB的項目應用模板(點選New\Projects\MDI Application),再根據需要加以修改。在BCB的設計方面以繪制節(jié)點及設置線段為重點。路徑長度最短的最短路徑的特點:在這條路徑上,必定只含一條弧,并且這條弧的權值最小。關于的模塊: 圖344 關于界面圖幫助模塊如圖336所示: 圖14幫助界面圖 圖345 幫助界面圖 結束語通過幾個月的學習C/C++語言,以及使用C++Builder開發(fā)工具,并在老師和同學的幫助下完成了數據結構算法演示系統(tǒng)的設計。數據結構算法演示系統(tǒng)具有操作便捷、形象生動等特點,對于深化對數據結構算法的理解,提高計算機程序設計水平具有很好的促進作用,能有效地改善數據結構算法教學的質量和效率,在學習和生活中,具有較廣泛的應用,值得做進一步的研究和推廣。對數據結構的知識的理解上有進一步的突破,在程序的調試過程中,讓我感覺深刻的就是解決問,在畢業(yè)設計的這段期間,我要特別感謝我的指導老師。但在某些地方肯定存在了許多的不足之處。為我以后從事計算機的工作積累了許多經驗。本系統(tǒng)能夠完成線性鏈表、堆棧、隊列,圖和樹等算法的演示功能。系統(tǒng)一直處于選擇菜單項或執(zhí)行動作狀態(tài),直到選擇了退出動作為止,它分別演示了數組、堆棧、隊列、線形表、樹、圖等基本數據結構的概念。根據以上求最短路
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1