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

正文內(nèi)容

基于c數(shù)據(jù)結(jié)構(gòu)算法演示系統(tǒng)-免費(fèi)閱讀

  

【正文】 希望大家能給我提出寶貴的意見(jiàn)。從她身上我學(xué)到了很多很多,這些都將指導(dǎo)我今后的學(xué)習(xí)。系統(tǒng)概述:(1)在對(duì)數(shù)據(jù)結(jié)構(gòu)課程和c++builder開(kāi)發(fā)工具的基礎(chǔ)上,我們做了線性表、堆棧、隊(duì)列、樹(shù)、圖5個(gè)基本結(jié)構(gòu)的算法演示;(2)數(shù)據(jù)結(jié)構(gòu)做為一門(mén)計(jì)算機(jī)的核心課程,我們?cè)谧鲈O(shè)計(jì)的過(guò)程中,更理解到了這一點(diǎn),本系統(tǒng)都是在基礎(chǔ)結(jié)構(gòu)算法的延伸;(3)本系統(tǒng)可以具有操作便捷、形象生動(dòng)等特點(diǎn),對(duì)于深化對(duì)數(shù)據(jù)結(jié)構(gòu)算法的理解,提高計(jì)算機(jī)程序設(shè)計(jì)水平具有很好的促進(jìn)作用,能有效地改善數(shù)據(jù)結(jié)構(gòu)算法教學(xué)的質(zhì)量和效率,在學(xué)習(xí)和生活中,具有較廣泛的應(yīng)用,值得做進(jìn)一步的研究和推廣。當(dāng)我們插入結(jié)點(diǎn)的安排位置,是串列中所沒(méi)有的時(shí)候,就會(huì)跳出右方的提示信息;單擊“刪除結(jié)點(diǎn)”,即彈出刪除結(jié)點(diǎn)輸入對(duì)話(huà)框,要求我們輸入結(jié)點(diǎn)內(nèi)容,我們輸入“數(shù)據(jù)一”;項(xiàng)目管理對(duì)話(huà)框返回刪除第幾個(gè)結(jié)點(diǎn)的信息;單擊”顯示結(jié)點(diǎn)“選項(xiàng),選擇”右前“或”由后“選項(xiàng),即可將現(xiàn)有的鏈表內(nèi)容由前往后排顯示于字符傳表格中;圖是由后往前排顯示的結(jié)果;選擇”清楚數(shù)據(jù)“,可以看到數(shù)據(jù)和面板清楚的非常干凈,如果還擔(dān)心有結(jié)點(diǎn)的殘留,可以顯示看看是否如此。左邊的數(shù)字是用數(shù)組列出來(lái)的;左邊的數(shù)字,則是把輸入所新增的鏈表顯示出來(lái)。Memo1SetFocus()。圖323 二叉樹(shù)的基本操作顯示界面開(kāi)始加入結(jié)點(diǎn)數(shù)大小左子樹(shù)右子樹(shù)形成二叉樹(shù)查找結(jié)點(diǎn)結(jié)束圖324 類(lèi)別二叉樹(shù)流程圖 本部分主要由兩個(gè)文本輸入/輸出和3個(gè)按紐組成,如圖32所示。“訪問(wèn)”的含義很廣,可以是對(duì)結(jié)點(diǎn)做各種處理,如輸出結(jié)點(diǎn)的信息等。 i/2ii+12i2i+12i+22i+3按照順序存儲(chǔ)結(jié)構(gòu)的定義,在此約定,用一組地址連續(xù)的存儲(chǔ)單元依次自上而下、自左至右存儲(chǔ)完全二叉樹(shù)上的結(jié)點(diǎn)元素,即將完全二叉樹(shù)上編號(hào)為i的結(jié)點(diǎn)元素存儲(chǔ)在定義好的一維數(shù)組中下標(biāo)為i1的分量中。 i=WinExec((),SW_SHOWNORMAL)。若要尋查結(jié)點(diǎn)的直接后趨,則需從表頭指針出發(fā),為了克服單鏈表這種單向性的缺點(diǎn),可利用雙向鏈表。 pnext=s。圖36 鏈表模型顯示圖開(kāi)始輸入內(nèi)容選擇爭(zhēng)先奪后列席結(jié)束圖37 鏈表模型流程圖(3)在菜單中,我們通過(guò)調(diào)用WinExec函數(shù),以執(zhí)行外部命令的方式,來(lái)完成鏈表操作的演示。如圖34所示。主菜單的流程圖如圖33所示。幫助模板由關(guān)于和幫助組成。在。 把字符串中classname 和 functionname 替換成相應(yīng)的類(lèi)名和函數(shù)名。 (4)將記錄和異常處理結(jié)合使用 不用總是擔(dān)心可能會(huì)發(fā)生什么偶然的異常。如果你打算給最終用戶(hù)分發(fā)客戶(hù)端 (),不要忘記include所需要的程序包。如果在發(fā)布給客戶(hù)的時(shí)候,忘記去掉這些代碼程序僅僅會(huì)變慢一點(diǎn),不會(huì)有別的不良后果。下面將介紹3種方法。(比如,把一個(gè)等待狀態(tài)的光標(biāo)圖標(biāo)設(shè)置為正常光標(biāo)。注意,在一系列的catch()語(yǔ)句中,錯(cuò)誤不會(huì)被重復(fù)的捕捉,也就是說(shuō),如果前面的catch()語(yǔ)句捕捉到了錯(cuò)誤,后面的catch()語(yǔ)句將不會(huì)捕捉這條錯(cuò)誤。要使用異常處理了,只要把要執(zhí)行的代碼放到try塊里面,為了讓程序知道出現(xiàn)異常后應(yīng)該做什么,還需要定義一個(gè)catch()或是__finally塊。在C++標(biāo)準(zhǔn)制定出來(lái)之前的黑暗日子里,在程序里面發(fā)出發(fā)生錯(cuò)誤的信號(hào),通常是通過(guò)返回錯(cuò)誤代碼完成的(現(xiàn)在這種方法仍然應(yīng)用于OLE技術(shù)和一些Winapi函數(shù)),這樣的處理方法很容易就會(huì)被忽略。易讀的代碼是很有價(jià)值的。如果你為企業(yè)開(kāi)發(fā)數(shù)據(jù)庫(kù)、信息管理系統(tǒng)等高層應(yīng)用(高層是相對(duì)于低層/底層而言的,不是說(shuō)技術(shù)高級(jí)或低級(jí)??磥?lái)是金無(wú)足赤啊。另外,這一版本將加強(qiáng)網(wǎng)絡(luò)開(kāi)發(fā)的特性。(Communicator也是一度技術(shù)領(lǐng)先,甚至曾占據(jù)了大部分的瀏覽器市場(chǎng),但似乎后勁不足,而且 PR2中bug多多,現(xiàn)在被IE壓得抬不起頭。實(shí)際上,技術(shù)的進(jìn)步在很多時(shí)候是此消彼長(zhǎng)的。低版本的C++Builder不能使用高版本的VCL組件(這還別去說(shuō)它),而高版本的C++Builder竟然不能使用低版本的VCL組件。但與VC相比還顯出不成熟。 再?gòu)乃鼈兊囊子眯员容^。而VC的框架MFC也不是一無(wú)是處。不知他們作何感想?而因?yàn)镃++Builder對(duì)語(yǔ)言作了擴(kuò)展,VC不能編譯C++Builder的程序。但和VCL的委托模型相比,MFC的映射方法就顯得太落后了。但對(duì)Windows消息驅(qū)動(dòng)機(jī)制的封裝就不是那么容易的了。盡管微軟對(duì)MFC的更新沒(méi)有停止,我也經(jīng)常讀到持只要Windows不過(guò)時(shí),MFC就不會(huì)過(guò)時(shí)之類(lèi)觀點(diǎn)的文章,但就象Inprise(原Borland)的OWL框架的淡出一樣,MFC的淡出也是早晚的事。 C++ BUILDER與Visual C++對(duì)比首先,從它們的應(yīng)用程序框架(Application Frame,有時(shí)也稱(chēng)為對(duì)象框架)進(jìn)行比較。因此,無(wú)論是大型的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā),還是小型的數(shù)據(jù)庫(kù)管理系統(tǒng),C++ Builder都有其用武之地。C++ Builder在開(kāi)發(fā)Web及Internet應(yīng)用方面的功能也非常強(qiáng)大。比如,非Windows環(huán)境上的Java應(yīng)用程序,可以通過(guò)CORBA IIOP使用C++ Builder開(kāi)發(fā)出來(lái)的應(yīng)用程序服務(wù)器。(2)簡(jiǎn)化了分布式應(yīng)用系統(tǒng)的開(kāi)發(fā)企業(yè)向多層分布式系統(tǒng)跨越已經(jīng)成為了一種必然趨勢(shì),目前分布式運(yùn)算標(biāo)準(zhǔn)主要有Microsoft 的DCOM和OMG的CORBA,是否支持這兩種標(biāo)準(zhǔn)決定了開(kāi)發(fā)工具的適用領(lǐng)域和范圍。3 系統(tǒng)設(shè)計(jì) 開(kāi)發(fā)及使用環(huán)境 C++ BUILDER C++ BUILDER介紹提起B(yǎng)orland C/C++,相信業(yè)界的許多朋友都會(huì)感慨萬(wàn)千,因?yàn)樗鴰ьI(lǐng)很多人跨進(jìn)了Windows開(kāi)發(fā)的大門(mén)。 該系統(tǒng)具有操作簡(jiǎn)單、形象生動(dòng),能很好地改善人員對(duì)數(shù)據(jù)結(jié)構(gòu)課程的學(xué)習(xí)理解,從很大程度上提高人員的學(xué)習(xí)質(zhì)量和效率。 數(shù)據(jù)結(jié)構(gòu)是信息的一種組織方式,其目的是為了提高算法的效率,它通常與一組算法的集合相對(duì)應(yīng),通過(guò)這組算法集合可以對(duì)數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)進(jìn)行某種操作。在計(jì)算機(jī)科學(xué)中,數(shù)據(jù)結(jié)構(gòu)不僅是一般程序設(shè)計(jì)的基礎(chǔ),而且是設(shè)計(jì)和實(shí)現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)及其他系統(tǒng)程序和大型應(yīng)用程序的重要基礎(chǔ)。本文充分利用C++ BUILDER的RAD優(yōu)點(diǎn),設(shè)計(jì)并建立了一套數(shù)據(jù)結(jié)構(gòu)算法的演示系統(tǒng)。數(shù)據(jù)結(jié)構(gòu)課程的主要目的是介紹一些常用的數(shù)據(jù)結(jié)構(gòu),闡明數(shù)據(jù)結(jié)構(gòu)內(nèi)在的邏輯關(guān)系,討論它們?cè)谟?jì)算機(jī)中的存儲(chǔ)表示,并結(jié)合各種數(shù)據(jù)結(jié)構(gòu),討論對(duì)它們實(shí)行的各種運(yùn)算的實(shí)現(xiàn)算法。 2 需求分析 解決問(wèn)題做為一個(gè)數(shù)據(jù)結(jié)構(gòu)演示系統(tǒng),首先我們確定要演示的內(nèi)容,在本系統(tǒng)中,我們對(duì)線性表、堆棧和隊(duì)列、樹(shù)、圖幾個(gè)主要數(shù)據(jù)結(jié)構(gòu)做了講解;接著,對(duì)四種算法的說(shuō)明也是必不可少的,這樣配合演示,可以達(dá)到更好地效果;最后,作為我們?cè)O(shè)計(jì)的演示過(guò)程,使用者對(duì)操作不是太了解,我們有必要做個(gè)詳細(xì)的操作過(guò)程,讓使用者更好地操作系統(tǒng)。和美國(guó)Inprise公司(原Borland公司)其他面向企業(yè)分布式系統(tǒng)的開(kāi)發(fā)工具(如Delphi 、Jbuilder )相比,新近推出的最新版本C++ RAD(快速應(yīng)用開(kāi)發(fā))工具――Borland C++ Builder 4,無(wú)論是在開(kāi)發(fā)環(huán)境、分布式應(yīng)用系統(tǒng)開(kāi)發(fā)、支持已有C++資源方面,還是在快速開(kāi)發(fā)Web及Internet應(yīng)用程序、數(shù)據(jù)庫(kù)處理等方面,都表現(xiàn)出了其獨(dú)特的一面。C++ Builder可以說(shuō)是目前唯一同時(shí)支持CORBA和COM的C++集成開(kāi)發(fā)環(huán)境,因此既適用于基于ORB的分布式開(kāi)發(fā),又適用于基于COM的Windows開(kāi)發(fā)。從而使用戶(hù)可以在原有系統(tǒng)基礎(chǔ)之上構(gòu)建跨平臺(tái)、跨程序語(yǔ)言的分布式應(yīng)用系統(tǒng)。C++ Builder提供了21個(gè)Internet通信協(xié)議組件,用于Internet應(yīng)用程序的開(kāi)發(fā)。C++ Builder還提供了MTS 組件向?qū)?,用于快速生成支持Microsoft Transaction Server的COM組件。Visual C++采用的框架是MFC。如果MFC青春永駐,微軟的開(kāi)發(fā)人員也不會(huì)私自開(kāi)發(fā)出基于ATL的WTL呀。)最自然的封裝方式是采用虛成員函數(shù)。而C++Builder對(duì)C++語(yǔ)言進(jìn)行了擴(kuò)展,以便引入組件、事件處理、屬性等新特性??磥?lái)在這方面VC要輸給C++Builder了。經(jīng)歷了那么多年的發(fā)展和完善,MFC功能非常全面,而且十分穩(wěn)定,bug很少。VC有ClassWizard、SourceBrowser等一系列工具,還附帶Visual SourceSafe、Visual Modeler等強(qiáng)大的工具,易用性非常好。這是不應(yīng)該的。真是豈有此理,我很少看見(jiàn)軟件有不向下兼容的。當(dāng)初Borland的Turbo C和Borland C++幾乎是唯一的選擇。)C++Builder是Inspires的旗艦產(chǎn)品之一,前景應(yīng)當(dāng)還是比較樂(lè)觀的,而且Inspires已經(jīng)在向Linux進(jìn)軍了,而微軟還遲遲沒(méi)有動(dòng)作,難道非要到Linux成燎原之勢(shì)(或許已經(jīng)成燎原之勢(shì)了)才會(huì)奮起占領(lǐng)這個(gè)新興市場(chǎng)?似乎他們對(duì)Linux的態(tài)度與幾年前對(duì)互聯(lián)網(wǎng)的興起的反應(yīng)遲緩有些相似??磥?lái)微軟雖然被判解體,開(kāi)發(fā)實(shí)力可是一點(diǎn)沒(méi)打折扣。根據(jù) 你的需要做選擇吧。)而且有比較緊的期限限制,選C++Builder比較好。請(qǐng)想象一下,如果隨便掃視一眼代碼或注釋?zhuān)湍芰⒖讨肋@段代碼的的作用,以及在寫(xiě)代碼的時(shí)候?yàn)槭裁匆@樣寫(xiě),當(dāng)時(shí)的思路是什么,那么就可以節(jié)約大量時(shí)間。(比如說(shuō),你經(jīng)常檢查winapi函數(shù)的返回值嗎?)所以,出現(xiàn)問(wèn)題的可能性并不小。Catch()語(yǔ)句里面可以指定一個(gè)要捕捉的類(lèi)型或是變量,甚至可以用它來(lái)捕捉樹(shù)結(jié)構(gòu)或是繼承類(lèi)的異常,如果捕捉了基類(lèi)的異常,它就能捕捉到繼承這個(gè)基類(lèi)的所有的類(lèi)的異常。 這個(gè)機(jī)制還有更多的功能。) 就是這些了。 第一個(gè)方法:OutputDebugString。 第二個(gè)方法:使用了Gexperts,通過(guò) 。Gexperts可以在 得到,它是免費(fèi)的。一般來(lái)說(shuō),通過(guò)很多的bugs測(cè)試后(盡量折磨程序,看看它會(huì)不會(huì)崩潰),應(yīng)用程序在運(yùn)行是應(yīng)該不會(huì)出現(xiàn)什么錯(cuò)誤。在出現(xiàn)錯(cuò)誤時(shí),你會(huì)立刻知道錯(cuò)誤發(fā)生的位置。其中,他提到了使用TStringList作記錄的方法:先將錯(cuò)誤通過(guò)TStringList的Add方法加入到StringList里面,然后使用SaveToFile保存到硬盤(pán)上。程序模塊由退出組成。幫助操作數(shù)據(jù)結(jié)構(gòu)程序線性表說(shuō)明圖說(shuō)明幫助關(guān)于樹(shù)說(shuō)明隊(duì)列說(shuō)明堆棧說(shuō)明圖樹(shù)堆棧和隊(duì)列線性表退出圖33 主菜單流程圖(3)控件介紹:C++ Builder的組件工具箱(Component Palette)提供各種制作組件的工具,包括文字標(biāo)簽、文本框、圖象組件等。圖34 鏈表概念顯示圖 圖35 鏈表概念流程圖開(kāi)始輸入數(shù)據(jù)選擇按紐顯示鏈表順序退出結(jié)束(2)在菜單中,我們通過(guò)調(diào)用WinExec函數(shù),以執(zhí)行外部命令的方式,來(lái)完成鏈表模型的演示。源代碼如下: NewFileName=ExtractFilePath(ApplicationExeName)+。反之,如圖39所示在線性表中刪除元素b時(shí),為在單鏈表中實(shí)現(xiàn)元素a、b和c之間的邏輯關(guān)系的變化,僅需要修改結(jié)點(diǎn)a中的指針域即可。顧名思義,在雙向鏈表的結(jié)點(diǎn)中有兩個(gè)指針域,其一指向直接后繼,另一指向直接前趨。 在數(shù)組二叉樹(shù)的實(shí)現(xiàn)中,樹(shù)是由根莖和葉構(gòu)成,顧名思義樹(shù)狀結(jié)構(gòu)也具有這樣的組成特點(diǎn)的結(jié)構(gòu)形態(tài);然而必須注意在數(shù)據(jù)結(jié)構(gòu)中,樹(shù)的生長(zhǎng)方向是向下的,而且決定延伸的環(huán)節(jié)是由結(jié)點(diǎn)和線段所組成的。對(duì)于一般二叉樹(shù),則應(yīng)將其每個(gè)結(jié)點(diǎn)與完全二叉樹(shù)上的結(jié)點(diǎn)相對(duì)照,存儲(chǔ)在一維數(shù)組的相應(yīng)分量中,如圖319所示,二叉樹(shù)的順序存儲(chǔ)結(jié)構(gòu)如圖320所示,圖中以“0”表示不存在此結(jié)點(diǎn)。遍歷對(duì)線性結(jié)點(diǎn)來(lái)說(shuō),是容易解決的,而對(duì)二叉樹(shù)則不然,由于二叉樹(shù)是一種非線性結(jié)構(gòu),每個(gè)結(jié)點(diǎn)都可能有兩課子樹(shù),因而需要尋找一種規(guī)律,以便使二叉樹(shù)上的結(jié)點(diǎn)能排列在一個(gè)線性隊(duì)列上,從而便于遍歷。主要顯示各種算法的說(shuō)明,輔助大家更好地學(xué)習(xí)。Memo2LinesText=。在操作面板中輸入內(nèi)容后,單擊“按紐”即可看到數(shù)據(jù)從前方插入。如果看不清楚鏈表數(shù)據(jù)與指針動(dòng)向的話(huà),可以拉動(dòng)右下方控制條來(lái)調(diào)整顯示窗口的背景亮度 樹(shù)操作樹(shù)運(yùn)行如圖317 321 323所示輸入幾個(gè)數(shù)字就建立起二叉樹(shù)的結(jié)構(gòu),請(qǐng)?zhí)貏e注意數(shù)字的大小與左右連接的關(guān)系;當(dāng)輸入的時(shí)候下方會(huì)出現(xiàn)輸入值在樹(shù)的第幾層信息。問(wèn)題不足:(1)該系統(tǒng)相對(duì)復(fù)雜的演示系統(tǒng)稍顯簡(jiǎn)易,只實(shí)現(xiàn)了結(jié)構(gòu)的基礎(chǔ)操作,對(duì)復(fù)雜算法的演示比較少,如多項(xiàng)式運(yùn)算、最小生成樹(shù)等等;(2)在多數(shù)演示過(guò)程中,沒(méi)能實(shí)現(xiàn)單步演示。而她在我的畢業(yè)設(shè)計(jì)過(guò)程中給予了我熱情的幫助,從整個(gè)系統(tǒng)的需求分析、總體設(shè)計(jì)及某些細(xì)節(jié)之處到論文的撰寫(xiě)都給予了具體指導(dǎo)。 參考文獻(xiàn)[1] 余明興、 c++ builder 5實(shí)例精解[M].清華大學(xué)出版社,[2] ++ builder程序員學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)[M].人民郵電出版社,2003[3] ++ builder編程技巧、經(jīng)驗(yàn)與實(shí)例[M].人民郵電出版社,[4] 葛一楠、李智慧、++ builder篇[M].國(guó)防工業(yè)出版社,[5] 嚴(yán)蔚敏、(C語(yǔ)言版) [M].清華大學(xué)出版社,[6] [M].中國(guó)水利水電出版社,[7] 徐孝凱. C++語(yǔ)言基礎(chǔ)教程[M].清華大學(xué)出版社,[8] 吳逸賢、 c++ builder 6程序設(shè)計(jì)[M].科技出版社,[9] ++ builder程序設(shè)計(jì)教程[M].冶金工業(yè)出版社,[10] 郭文夷、 c++ builder [M].西安電子科技大學(xué)出版社,
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1