• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于VC++的動(dòng)態(tài)教學(xué)演示軟件的設(shè)計(jì)與實(shí)現(xiàn)

      2010-08-15 00:52:53王艷君
      科技傳播 2010年19期
      關(guān)鍵詞:單鏈鏈表指針

      王艷君

      西安歐亞學(xué)院信息工程學(xué)院計(jì)算機(jī)應(yīng)用與網(wǎng)絡(luò)教研室,陜西西安 710065

      基于VC++的動(dòng)態(tài)教學(xué)演示軟件的設(shè)計(jì)與實(shí)現(xiàn)

      王艷君

      西安歐亞學(xué)院信息工程學(xué)院計(jì)算機(jī)應(yīng)用與網(wǎng)絡(luò)教研室,陜西西安 710065

      該動(dòng)態(tài)演示系統(tǒng)利用VC++開(kāi)發(fā)平臺(tái),設(shè)計(jì)了數(shù)據(jù)結(jié)構(gòu)課程的順序表的存儲(chǔ)結(jié)構(gòu)、順序表的操作過(guò)程、單鏈表的存儲(chǔ)結(jié)構(gòu)、單鏈表的操作過(guò)程、入棧、出棧的過(guò)程、入隊(duì)列、出隊(duì)列的過(guò)程、串的操作過(guò)程、二叉樹(shù)的遍歷過(guò)程、圖的遍歷過(guò)程、最小生成樹(shù)的產(chǎn)生過(guò)程、排序過(guò)程、查找過(guò)程等內(nèi)容的教學(xué)演示軟件。本文主要對(duì)前插法建立單鏈表、從單鏈表中刪除數(shù)據(jù)、向單鏈表中插入數(shù)據(jù)的算法和設(shè)計(jì)進(jìn)行了說(shuō)明。

      教學(xué)軟件;單鏈表;動(dòng)態(tài)演示

      計(jì)算機(jī)輔助教學(xué)軟件開(kāi)發(fā)和運(yùn)用,使教學(xué)媒體有了質(zhì)的飛躍,使教學(xué)手段更加豐富,對(duì)教學(xué)效果的提高起到促進(jìn)作用。因此,其在教學(xué)上的運(yùn)用十分有利于學(xué)生的發(fā)展,更符合現(xiàn)代化教學(xué)規(guī)律的要求。數(shù)據(jù)結(jié)構(gòu)課程是計(jì)算機(jī)學(xué)科的一門(mén)核心課程,它比較抽象,尤其初學(xué)者對(duì)數(shù)據(jù)在內(nèi)存中是如何存儲(chǔ)的,數(shù)據(jù)在計(jì)算機(jī)中是何處理的,都不是很明確,那么開(kāi)發(fā)一個(gè)數(shù)據(jù)結(jié)構(gòu)演示系統(tǒng)是為了給學(xué)生提供形象生動(dòng)、內(nèi)容豐富、直觀具體、感染力強(qiáng)的感性認(rèn)識(shí)材料,使學(xué)生不再憑空想象,難題無(wú)須多講,“百聞不如一見(jiàn)”。教學(xué)軟件的開(kāi)發(fā)對(duì)教師來(lái)說(shuō)也可以大大減少工作時(shí)間,對(duì)學(xué)生來(lái)說(shuō)可以按照自己的進(jìn)度學(xué)習(xí),有利于調(diào)動(dòng)其學(xué)習(xí)積極性,有利于培養(yǎng)學(xué)生的思維能力及解決問(wèn)題的能力。

      本教學(xué)軟件是基于VC++6.0設(shè)計(jì)一個(gè)數(shù)據(jù)結(jié)構(gòu)課程的動(dòng)態(tài)演示系統(tǒng),包括描述順序表的存儲(chǔ)結(jié)構(gòu)的概念,順序表的操作過(guò)程,描述單鏈表存儲(chǔ)結(jié)構(gòu)的概念,單鏈表的操作過(guò)程,入棧、出棧的過(guò)程,入隊(duì)列、出隊(duì)列的過(guò)程,串的操作過(guò)程,串的模式匹配過(guò)程,二叉樹(shù)的遍歷過(guò)程,圖的遍歷過(guò)程,最小生成樹(shù)算法的演示過(guò)程,排序算法的演示過(guò)程,查找算法的演示過(guò)程。

      現(xiàn)就針對(duì)單鏈表的部分教學(xué)內(nèi)容的動(dòng)態(tài)演示的設(shè)計(jì)過(guò)程予以說(shuō)明。

      單鏈表存儲(chǔ)結(jié)構(gòu)的功能是描述單鏈表的存儲(chǔ)結(jié)構(gòu)、單鏈表的表示方法、單鏈表的存儲(chǔ)結(jié)構(gòu)示意圖。采用消息響應(yīng)函數(shù)OnLinkertablestruct()實(shí)現(xiàn)。

      1 前插法建立單鏈表的動(dòng)態(tài)演示

      其功能是動(dòng)態(tài)演示用戶(hù)輸入的數(shù)據(jù)串序列建立單鏈表的過(guò)程。單鏈表的創(chuàng)建算法是首先創(chuàng)建頭指針h和頭節(jié)點(diǎn)head,插入節(jié)點(diǎn)時(shí),使掃描指針p指向插入位置的前一個(gè)結(jié)點(diǎn),然后為要插入的結(jié)點(diǎn)開(kāi)辟存儲(chǔ)空間,使指針q指向這個(gè)結(jié)點(diǎn),將要插入的數(shù)據(jù)元素x插入到q指針指向結(jié)點(diǎn)的數(shù)據(jù)域(即q→date=x),將待插入數(shù)據(jù)元素位置的前一個(gè)結(jié)點(diǎn)的指針域賦給待插數(shù)據(jù)元素位置結(jié)點(diǎn)的指針域(即q→next=p→next),斷開(kāi)待插位置前一結(jié)點(diǎn)的指針域,使其指向待插入的結(jié)點(diǎn)(即p→next=q)。

      其繪圖算法是在x軸等于100,y軸等于100的地方繪制一個(gè)矩形,使其做為頭結(jié)點(diǎn),在x軸等于等于600,y軸等于240的地方繪制一個(gè)矩形,使其做為插入的第一個(gè)結(jié)點(diǎn),然后每新增加一個(gè)結(jié)點(diǎn)x軸坐標(biāo)減130,y軸坐標(biāo)不變。采用消息響應(yīng)函數(shù):OnCreatlinkertable(),實(shí)現(xiàn)過(guò)程是在創(chuàng)建鏈表過(guò)程中連接兩個(gè)結(jié)點(diǎn),需要用畫(huà)線(xiàn)折線(xiàn)的函數(shù)BOOL Polyline(LPPOINT lpPoints, int nCount),這個(gè)函數(shù)用來(lái)畫(huà)一條折線(xiàn)。其中l(wèi)pPoints參數(shù)是指向折線(xiàn)頂點(diǎn)的數(shù)組指針,nCount參數(shù)是指定折線(xiàn)頂點(diǎn)數(shù)組中的頂點(diǎn)數(shù)。

      2 向單鏈表中插入數(shù)據(jù)演示

      其功能是動(dòng)態(tài)演示在單鏈表中插入一個(gè)數(shù)據(jù)元素的全過(guò)程。由用戶(hù)輸入一串單鏈表數(shù)據(jù),輸入一個(gè)插入位置,輸入一個(gè)想要插入的數(shù)據(jù)元素,該系統(tǒng)會(huì)自動(dòng)將要插入位置的指針斷開(kāi),將要插入的數(shù)據(jù)元素插入到鏈表中。體現(xiàn)了兩種算法:

      1)向鏈表中插入數(shù)據(jù)元素的算法:要在帶頭節(jié)點(diǎn)的單鏈表數(shù)據(jù)元素ai(i大于等于0且小于鏈表的數(shù)據(jù)元素的個(gè)數(shù))結(jié)點(diǎn)前插入一個(gè)存放數(shù)據(jù)元素x的結(jié)點(diǎn),首先要在單鏈表中尋找到存放數(shù)據(jù)元素ai-1的結(jié)點(diǎn)并由指針p指示,然后動(dòng)態(tài)申請(qǐng)一個(gè)結(jié)點(diǎn)存儲(chǔ)空間并由指針q指示,并把數(shù)據(jù)元素x的值賦予新結(jié)點(diǎn)的數(shù)據(jù)元素域(即q→data=x),最后修改新結(jié)點(diǎn)的指針域指向數(shù)據(jù)元素ai結(jié)點(diǎn)(q→next=p→next),并修改數(shù)據(jù)元素ai-1結(jié)點(diǎn)的指針域指向新結(jié)點(diǎn)q(即p→next=q)。

      2)繪圖算法:在x軸等于50,y軸等于160的位置畫(huà)一個(gè)矩形,使其作為頭結(jié)點(diǎn)。以后每隔50個(gè)像素畫(huà)一個(gè)矩形做為鏈表的元素,直到矩形的個(gè)數(shù)等于鏈表數(shù)據(jù)元素的個(gè)數(shù)。待插結(jié)點(diǎn)的x軸坐標(biāo)是以插入位置結(jié)點(diǎn)x軸坐標(biāo)作為基準(zhǔn)的,y軸坐標(biāo)為260。

      采用消息響應(yīng)函數(shù)OnLinkertableinsert()實(shí)現(xiàn)功能。

      3 從單鏈表中刪除數(shù)據(jù)演示

      其功能是用戶(hù)輸入要?jiǎng)h除的位置,系統(tǒng)就會(huì)將要?jiǎng)h除位置的結(jié)點(diǎn)從鏈表中去掉。由兩種算法體現(xiàn):

      1)從鏈表中刪除數(shù)據(jù)元素的算法:要在帶頭結(jié)點(diǎn)的單鏈表中刪除數(shù)據(jù)元素ai結(jié)點(diǎn),首先需要在單鏈表中尋找到存放數(shù)據(jù)元素ai-1的結(jié)點(diǎn)并由指針p指示,然后讓指針s指向數(shù)據(jù)元素ai結(jié)點(diǎn)(即s=p→next)并把數(shù)據(jù)元素ai的值賦予x(即x=s→date),最后刪除數(shù)據(jù)元素ai結(jié)點(diǎn)(p→next=p→next→next),并動(dòng)態(tài)釋放數(shù)據(jù)元素ai結(jié)點(diǎn)的存儲(chǔ)空間。

      2)繪圖算法:從x軸坐標(biāo)為50,y軸坐標(biāo)為160的地方每隔50個(gè)像素依次繪制一個(gè)矩形,直到矩形個(gè)數(shù)等于鏈表元素個(gè)數(shù)加1,鏈表繪制完成。動(dòng)態(tài)演示刪除過(guò)程時(shí),用紅色筆畫(huà)線(xiàn)將待刪元素位置的前一個(gè)矩形和待刪元素位置的后一個(gè)矩形連接起來(lái),再用白色筆畫(huà)線(xiàn)將原來(lái)待刪位置與前一矩形之間的連線(xiàn)和待刪位置與后一矩形之間的連線(xiàn)用白色筆重繪。

      采用消息響應(yīng)函數(shù)OnLinkertabledelete()實(shí)現(xiàn)功能。

      TP31

      A

      1674-6708(2010)28-0224-01

      猜你喜歡
      單鏈鏈表指針
      逐步添加法制備單鏈環(huán)狀DNA的影響因素探究*
      基于二進(jìn)制鏈表的粗糙集屬性約簡(jiǎn)
      偷指針的人
      跟麥咭學(xué)編程
      基于鏈表多分支路徑樹(shù)的云存儲(chǔ)數(shù)據(jù)完整性驗(yàn)證機(jī)制
      為什么表的指針都按照順時(shí)針?lè)较蜣D(zhuǎn)動(dòng)
      鹽酸克倫特羅生物素化單鏈抗體在大腸埃希氏菌中的表達(dá)
      急性淋巴細(xì)胞白血病單鏈抗體(scFv)的篩選與鑒定
      基于改進(jìn)Hough變換和BP網(wǎng)絡(luò)的指針儀表識(shí)別
      DNA處理蛋白A在細(xì)菌自然轉(zhuǎn)化中的作用
      鄢陵县| 永清县| 屏南县| 灌南县| 无极县| 五常市| 华容县| 抚顺市| 乌兰察布市| 浙江省| 阿拉善盟| 崇仁县| 崇阳县| 广州市| 孟连| 启东市| 简阳市| 房产| 南召县| 翁源县| 视频| 沧州市| 梨树县| 大余县| 蒙自县| 大荔县| 合阳县| 太谷县| 新巴尔虎右旗| 汉川市| 教育| 托克托县| 唐海县| 景谷| 乌鲁木齐市| 邻水| 和平县| 张家港市| 鹰潭市| 专栏| 昭觉县|