高中信息技術(shù)選修1:算法與程序設(shè)計(jì) 5.3 排序算法的程序?qū)崿F(xiàn)_第1頁(yè)
高中信息技術(shù)選修1:算法與程序設(shè)計(jì) 5.3 排序算法的程序?qū)崿F(xiàn)_第2頁(yè)
高中信息技術(shù)選修1:算法與程序設(shè)計(jì) 5.3 排序算法的程序?qū)崿F(xiàn)_第3頁(yè)
高中信息技術(shù)選修1:算法與程序設(shè)計(jì) 5.3 排序算法的程序?qū)崿F(xiàn)_第4頁(yè)
高中信息技術(shù)選修1:算法與程序設(shè)計(jì) 5.3 排序算法的程序?qū)崿F(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(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)介

VB講堂VB實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)記錄排序授課教師:周凱旋工作單位:江山市清湖高級(jí)中學(xué)思考與討論:用電情況數(shù)據(jù)庫(kù)electricity中存放有某地區(qū)所有用戶(hù)每年度用電情況的相關(guān)數(shù)據(jù),如何通過(guò)VB程序?qū)崿F(xiàn)對(duì)數(shù)據(jù)庫(kù)記錄排序?獲取數(shù)據(jù)庫(kù)相關(guān)數(shù)據(jù)數(shù)據(jù)排序DimconnAsNewADODB.Connection'定義Connection對(duì)象實(shí)例connDimrsAsNewADODB.Recordset'定義Recordset對(duì)象實(shí)例rsDima(1To100)AsString'數(shù)組a用來(lái)保存每個(gè)戶(hù)號(hào)Dimb(1To100)AsInteger'數(shù)組b用于保存每個(gè)戶(hù)號(hào)對(duì)應(yīng)的年度用電量DimnAsInteger'變量n記錄用戶(hù)個(gè)數(shù)PrivateSubCommand1_Click()conn.ConnectionString="Provider=microsoft.ace.oledb.12.0;"&"DataSource="&App.Path&"\Electricity.accdb"'設(shè)置conn的數(shù)據(jù)庫(kù)連接字符串conn.Open'打開(kāi)數(shù)據(jù)庫(kù)連接rs.ActiveConnection=conn'設(shè)置rs的ActiveConnection屬性,關(guān)聯(lián)connrs.Open"select*fromelectricity"'打開(kāi)記錄集,獲取數(shù)據(jù)n=0DoWhileNotrs.EOFn=n+1a(n)=rs.Fields("戶(hù)號(hào)")b(n)=rs.Fields("年度用電量")List1.AddItema(n)+""+Str(b(n))rs.MoveNextLooprs.Closeconn.CloseEndSub復(fù)習(xí):數(shù)據(jù)庫(kù)數(shù)據(jù)獲取冒泡排序所謂冒泡排序,形象的說(shuō),就是在將一組數(shù)據(jù)從小到大的順序排列時(shí),小的數(shù)據(jù)視為質(zhì)量較輕,大的數(shù)據(jù)視為質(zhì)量較重,小的數(shù)據(jù)好比水中的氣泡,往上方移動(dòng),較大的數(shù)據(jù)好比是石頭,往下沉,最重的會(huì)沉到底,最輕的會(huì)浮到頂,反復(fù)進(jìn)行比較,直到數(shù)據(jù)列排成有序列。請(qǐng)將下列數(shù)據(jù)按從大到小的順序,利用冒泡法排序{30,38,65,97,76,13,27,49}1排序號(hào):數(shù)據(jù)序號(hào)12345678原始數(shù)據(jù)3038659776132749實(shí)例分析2排序數(shù)據(jù)序號(hào)12345678原始數(shù)據(jù)現(xiàn)將8號(hào)數(shù)據(jù)49和7號(hào)數(shù)據(jù)27比較,因?yàn)?9>27所以,49和27的位置互換,變?yōu)椋簲?shù)據(jù)序號(hào)12345678原始數(shù)據(jù)i=1:第一次排序j=8:第一步:8號(hào)、7號(hào)排序49271376976538304927137697653830t49t=d(8):d(8)=d(7):d(7)=t數(shù)據(jù)序號(hào)12345678原始數(shù)據(jù)j=7:第二步:7號(hào)6號(hào)排序數(shù)據(jù)序號(hào)12345678原始數(shù)據(jù)4927137697653830現(xiàn)將7號(hào)數(shù)據(jù)49和6號(hào)數(shù)據(jù)13比較,因?yàn)?9>13所以,49和13的位置互換,變?yōu)椋?927137697653830t49t=d(7):d(7)=d(6):d(6)=tj=6:第三步:比較6、5號(hào)數(shù)據(jù)j=5:第四步比較5、4號(hào)數(shù)據(jù)方法同第三步,因?yàn)?6<97所以數(shù)據(jù)順序不變數(shù)據(jù)序號(hào)12345678原始數(shù)據(jù)1327497697653830現(xiàn)將6號(hào)數(shù)據(jù)49和5號(hào)數(shù)據(jù)76比較,因?yàn)?9<76所以,49和76的位置不互換。數(shù)據(jù)序號(hào)12345678原始數(shù)據(jù)1327497697653830j=4:第五步:比較4、3號(hào)數(shù)據(jù)數(shù)據(jù)序號(hào)12345678原始數(shù)據(jù)1327497697653830現(xiàn)將4號(hào)數(shù)據(jù)97和3號(hào)數(shù)據(jù)65比較,因?yàn)?7>65所以,97和65的位置互換。數(shù)據(jù)序號(hào)12345678原始數(shù)據(jù)1327497697653830t

97t=d(4):d(4)=d(3):d(3)=tj=3:第六步:比較3、2號(hào)數(shù)據(jù):數(shù)據(jù)序號(hào)12345678原始數(shù)據(jù)1327497665973830現(xiàn)將3號(hào)數(shù)據(jù)97和2號(hào)數(shù)據(jù)38比較,因?yàn)?7>38所以,97和38的位置互換。數(shù)據(jù)序號(hào)12345678原始數(shù)據(jù)1327497665973830t

97t=d(3):d(3)=d(2):d(2)=tj=2第七步:比較2、1號(hào)數(shù)據(jù)數(shù)據(jù)序號(hào)12345678原始數(shù)據(jù)1327497665389730現(xiàn)將2號(hào)數(shù)據(jù)97和1號(hào)數(shù)據(jù)30比較,因?yàn)?7>30所以,97和30的位置互換。數(shù)據(jù)序號(hào)12345678原始數(shù)據(jù)1327497665389730t97t=d(2):d(2)=d(1):d(1)=t這樣就完成了第一次排序,它的基本特征是將最大數(shù)排到了最左邊,然后再?gòu)牡?個(gè)開(kāi)始,進(jìn)行第二次排序,將第二大的數(shù)據(jù)排到了第二位,反復(fù)下去,就可以完成排序。一共要進(jìn)行7次才能完成。數(shù)據(jù)序號(hào)12345678原始數(shù)據(jù)1327497665383097經(jīng)過(guò)第二次排序,數(shù)據(jù)順序應(yīng)該是什么樣的?數(shù)據(jù)序號(hào)12345678原始數(shù)據(jù)2713496538307697經(jīng)過(guò)第三次呢?數(shù)據(jù)序號(hào)12345678原始數(shù)據(jù)2713493830657697算法分析第1次冒泡排序時(shí)(i=1)

j從8開(kāi)始到2Forj=8to2step-1ifd(j)>d(j-1)then交換d(j)和d(j-1)的值第2次冒泡排序時(shí)(i=2)

j從8開(kāi)始到3Forj=8to3step-1ifd(j)>d(j-1)then交換d(j)和d(j-1)的值第3次冒泡排序時(shí)(i=3)

j從8開(kāi)始到4Forj=8to4step-1ifd(j)>d(j-1)then交換d(j)和d(j-1)的值當(dāng)i從1到7變化時(shí)每次j從8到i+1時(shí)

d(j)>d(j-1)時(shí),則交換它們第4次冒泡排序時(shí)(i=4)

j從8開(kāi)始到5Forj=8to5step-1ifd(j)>d(j-1)then交換d(j)和d(j-1)的值第5次冒泡排序時(shí)(i=5)

j從8開(kāi)始到6Forj=8to6step-1ifd(j)>d(j-1)then交換d(j)和d(j-1)的值第6次冒泡排序時(shí)(i=6)

j從8開(kāi)始到7Forj=8to7step-1ifd(j)>d(j-1)then交換d(j)和d(j-1)的值第7次冒泡排序時(shí)(i=7)

j從8開(kāi)始到8Forj=8to8step-1ifd(j)>d(j-1)then交換d(j)和d(j-1)的值小結(jié):如果要對(duì)有n個(gè)元素的數(shù)組進(jìn)行排序,那么要進(jìn)行________輪冒泡,其中外循環(huán)變量i從

變化,內(nèi)循環(huán)變量j從

變化。n-11n-1ni+1a(1)、a(2)、a(3)、…a(n-2)、a(n-1)、a(n)算法演示總結(jié)(以降序?yàn)槔?數(shù)組d(1ton)Fori=1Ton-1(i:n個(gè)數(shù)排序共需進(jìn)行n-1遍加工)Forj=nToi+1Step-1(j:控制元素對(duì)比與交換)ifd(j)>d(j-1)then(每一

溫馨提示

  • 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)論