VisualBasic程序設(shè)計(jì)課件之第5章數(shù)組和記錄_第1頁(yè)
VisualBasic程序設(shè)計(jì)課件之第5章數(shù)組和記錄_第2頁(yè)
VisualBasic程序設(shè)計(jì)課件之第5章數(shù)組和記錄_第3頁(yè)
VisualBasic程序設(shè)計(jì)課件之第5章數(shù)組和記錄_第4頁(yè)
VisualBasic程序設(shè)計(jì)課件之第5章數(shù)組和記錄_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第5章 數(shù)組和記錄 5.1 數(shù)組的概念 5.2 數(shù)組的定義 5.3 數(shù)組的基本操作 5.4 數(shù)組的應(yīng)用 5.5 控件數(shù)組 5.6 記錄 5.7 常用算法(二)1.5.1 數(shù)組的概念 1. 數(shù)組的作用 數(shù)組通常和循環(huán)一起使用可以大大減少編程的復(fù)雜性,有些算法不用數(shù)組就無(wú)法實(shí)現(xiàn)。 例5.1 計(jì)算100個(gè)學(xué)生某門課的平均分,并統(tǒng)計(jì)高于平均分的人數(shù)。不用數(shù)組就很難編程。 Dim mark(1 To 100) As Integer,aver!, over%, i% aver = 0: over=o For i = 1 To 100 mark(i) = InputBox(輸入成績(jī)) aver = aver

2、 + mark(i) 計(jì)算總分 Next i aver = aver / 100 over = 0 For i = 1 To 100 If (mark(i) aver) Then over = over + 1 Next I Print aver, over2.2. 數(shù)組的概念 數(shù)組是一批數(shù)據(jù)或控件的集合。 普通數(shù)組存放一批相同類型的數(shù)據(jù) 控件數(shù)組存放一批相同名稱的控件例如,定義一個(gè)integer型數(shù)組a(10),它包含11個(gè)同類型的變量:a(0),a(1),a(10) Variant型數(shù)組則可以存放不同類型的數(shù)據(jù)又如,在窗體上畫一個(gè)標(biāo)簽label1,并用復(fù)制和粘貼的方法操作5次,可以得到一個(gè)

3、名稱為label1的控件數(shù)組,含6個(gè)標(biāo)簽,每個(gè)標(biāo)簽的名稱均為label1,但各個(gè)控件的index屬性值分別是0,1,5。3. 3.數(shù)組元素和數(shù)組的維數(shù) 數(shù)組的成員稱為數(shù)組元素,其名稱與數(shù)組名相同,其下標(biāo)表示該元素在數(shù)組中的位置。因此,數(shù)組元素也稱下標(biāo)變量。 數(shù)組的維數(shù)表示數(shù)組元素需要幾個(gè)下標(biāo)才能正確表示其在數(shù)組中的位置,它代表數(shù)組的邏輯結(jié)構(gòu),最多60維。 一維數(shù)組的邏輯結(jié)構(gòu)是線性的,只用一個(gè)下標(biāo)表示各個(gè)元素在數(shù)組中的位置 例 a(10):含11個(gè)元素的一維數(shù)組 a(0),a(1),a(2),a(3),a(4),a(5),a(6),a(7),a(8),a(9),a(10) 二維數(shù)組的邏輯結(jié)構(gòu)是一

4、個(gè)二維表,用兩個(gè)下標(biāo)表示各個(gè)元素在數(shù)組中的位置:第一個(gè)下標(biāo)表示行,第二個(gè)下標(biāo)表示列。 例 b(2,3):含三行四列共12個(gè)元素的二維數(shù)組 b(0,0) b(0,1) b(0,2) b(0,3) b(1,0) b(1,1) b(1,2) b(1,3) b(2,0) b(2,1) b(2,2) b(2,3) 4. 4.數(shù)組的存儲(chǔ)結(jié)構(gòu) 數(shù)組在內(nèi)存中占用一片連續(xù)的存儲(chǔ)單元。 一維數(shù)組的存儲(chǔ)結(jié)構(gòu)與邏輯結(jié)構(gòu)相同,即各個(gè)元素按下標(biāo)順序依次存放; 二維數(shù)組的存儲(chǔ)結(jié)構(gòu)是按行的順序存儲(chǔ)各個(gè)元素。例如,數(shù)組b(2,3)的存儲(chǔ)形式為: b(0,0) b(0,1) b(0,2) b(0,3) b(1,0) b(1,1)

5、 b(1,2) b(1,3) b(2,0) b(2,1) b(2,2) b(2,3) 三維數(shù)組是由若干個(gè)二維數(shù)組組成的,其存儲(chǔ)結(jié)構(gòu)是按順序存儲(chǔ)各個(gè)二維數(shù)組。例如,數(shù)組c(1,2,1)的存儲(chǔ)形式為: c(0,0,0) c(0,1,0) c(0,2,0) c(1,0,0) c(1,1,0) c(1,2,0) c(0,0,1) c(0,1,1) c(0,2,1) c(1,0, 1) c(1,1,1) c(1,2,1)5.5.2 數(shù)組的定義 靜態(tài)數(shù)組(定界數(shù)組) 動(dòng)態(tài)數(shù)組(可變數(shù)組、可調(diào)數(shù)組) 靜態(tài)數(shù)組:在定義時(shí)明確規(guī)定數(shù)組的大小,且在程序運(yùn)行過(guò)程中,其大小不能再改變 動(dòng)態(tài)數(shù)組:在定義時(shí)不指定數(shù)組的大

6、小,在運(yùn)行過(guò)程中可以根據(jù)需要用ReDim重新規(guī)定其大小數(shù)組6. 1.靜態(tài)數(shù)組的定義 形式:Dim 數(shù)組名(維界1,維界2) As 類型 維界1、維界2等表示各維的大小,形式為: 下界 To 上界 下界和上界為常數(shù)表達(dá)式: -2147483648 到 2147483647 下界缺省時(shí)默認(rèn)0 維界用來(lái)確定數(shù)組的體積。 類型缺省時(shí),默認(rèn)變體型 除了用Dim外,還可以用static、private和public來(lái)定義數(shù)組,它們可以在不同的窗體和模塊內(nèi)定義,所定義的數(shù)組的作用范圍也不相同。7.下界可以缺省,系統(tǒng)默認(rèn)的下界缺省值為0。例:Dim lArray(0 To 3,0 To 4) As Long

7、等價(jià)于: Dim lArray(3,4) As Long 例:Dim mark(1 to 100) As Integer8.如果需要默認(rèn)的下界缺省值不是0,則可以在通用聲明段內(nèi)用Option Base語(yǔ)句確定,例如用 Option Base 1來(lái)定義下界缺省值為1,此后,若定義 Dim a(2,3)則等價(jià)于Dim a(1 to 2,1 to 3)注意: (1)在數(shù)組定義中,數(shù)組名后面括號(hào)中數(shù)值表示數(shù)組的維界,即每一維的大??;而在程序其他地方出現(xiàn)的帶擴(kuò)號(hào)的則表示數(shù)組中的某一個(gè)元素,括號(hào)中的數(shù)值表示該元素在數(shù)組中的位置。兩者寫法形式相同,但意義不同。 Dim x(10) As Integer 定義

8、x數(shù)組有11個(gè)元素 x(10)=100 對(duì)x(10)這個(gè)數(shù)組元素賦值 (2)靜態(tài)數(shù)組一經(jīng)定義,編譯系統(tǒng)為其安排存儲(chǔ)空間,其維數(shù)和各維大小不能再改變9. 2.動(dòng)態(tài)數(shù)組的定義 定義動(dòng)態(tài)數(shù)組時(shí),數(shù)組名后面的括號(hào)內(nèi)不含維界。這時(shí),編譯系統(tǒng)并不為該數(shù)組安排存儲(chǔ)空間。而在程序運(yùn)行時(shí),用ReDim語(yǔ)句指明該數(shù)組的大小,并安排存儲(chǔ)空間 Dim sArray( ) As Single Sub Form_Load( ) ReDim sArray(4,8) sArray原有值丟失 ReDim Preserve sArray(4,100) sArray原有值保留 End Sub10. (1)重新定義動(dòng)態(tài)數(shù)組的大小時(shí),

9、既可以改變其大小,也可以改變其維數(shù),下標(biāo)可以用常數(shù),也可以用有確定值的變量。例如: Dim a() As Integer a為動(dòng)態(tài)數(shù)組 Private Sub Command1_click() ReDim a(4,5) 重新定義動(dòng)態(tài)數(shù)組 n=InputBox(“請(qǐng)輸入n的值”) ReDim a(n) 重新定義動(dòng)態(tài)數(shù)組 End Sub 11. (2)定義Variant型動(dòng)態(tài)數(shù)組時(shí),可以省略數(shù)組名后面的圓括號(hào) Dim a a為variant型變量或數(shù)組 a=5 a為簡(jiǎn)單變量 Print a Redim a(5) a為數(shù)組 For I=0 to 5 a(I)=I Print a(I); Next I

10、12. (3)每次使用ReDim語(yǔ)句都會(huì)使數(shù)組中原有的數(shù)據(jù)丟失,當(dāng)希望改變數(shù)組大小而又要保留數(shù)組中原有的數(shù)據(jù)時(shí),可以在數(shù)組名前面增加Preserve關(guān)鍵字,這時(shí),只能改變多維數(shù)組中最后一維的上界,而不允許改變其它維的大小及最后一維的下界。 Dim a() As Integer ReDim a(10,10) ReDim Preserve a(10,Ubound(a)+2) 正確 ReDim Preserve a(Ubound(a)+2,10) 錯(cuò)誤13.5.3 數(shù)組的基本操作1. 數(shù)組元素的賦值(1)靜態(tài)數(shù)組只能對(duì)數(shù)組元素逐一賦值,不能用數(shù)組名整體賦值 Dim a(4) As Integer F

11、or i = 0 To 4 a(i)=10 a數(shù)組的每個(gè)元素值為10 Next I是允許的。 a=(1,2,3,4,5)是不允許的。 14. (2)變體型動(dòng)態(tài)數(shù)組可以用Array函數(shù)定界和整體賦值 Dim a As Variant, b() As variant, i% a=Array(1,2,3,4,5) b=Array(“abc”,”derf”,67,True) For i=Lbound(a) To Ubound(a) Picture1.Print a(i) Next i For i=Lbound(b) To Ubound(b) Picture1.Print b(i) Next I 其中,

12、Lbound()和Ubound()用來(lái)確定數(shù)組的下界和上界15. (3)動(dòng)態(tài)數(shù)組也可以用同類型的靜態(tài)數(shù)組整體賦值 Dim a(4) As Integer, b() As Integer a(0)=1:a(1)=3:a(2)=5:a(3)=-8:a(4)=7 b=a 將數(shù)組a整體賦給數(shù)組b,b為動(dòng)態(tài)數(shù)組 其中, b=a相當(dāng)于 For i=Lbound(a) To Ubound(a) b(i)=a(i) Next i16.2.數(shù)組的輸入 可以用InputBox函數(shù)或文本框?qū)崿F(xiàn)數(shù)組的輸入 Dim sB(4, 5) As Integer, i%, j% For i = 0 To 4 For j = 0

13、 To 5 sB(i, j) = InputBox(輸入sB( & i &, & j &)的值) Next j Next i For i = 0 To 4 For j = 0 To 5 Print Format$(sB(i, j), 00); spc(2); Next j Print Next i17.3. 數(shù)組的輸出數(shù)組的輸出只能對(duì)數(shù)組的各個(gè)元素進(jìn)行。例:輸出方陣sc中的下三角元素 Dim sc(4,4) As Integer For i = 0 To 4 For j = 0 To i sc(i, j) = i * 5 + j Print sc(i, j); “ “; Next j Prin

14、t Next i如何輸出上三角?18.4. 求數(shù)組中最大元素及所在下標(biāo)及各元素之和 Option Base 1 Dim Max As Integer,iMax As Integer Dim Sum As Integer,iA(10) Max=iA(1):iMax=1: Sum=iA(1) For i = 2 To 10 If iA(i)Max Then 求最大值 Max=iA(i) iMax=i End If Sum=Sum+iA(i) 求各元素之和 Next i Picture1.Print Max,iMax,Sum19.5. 將數(shù)組iA(10)中第一個(gè)元素與最后一個(gè)元素交換,第二個(gè)元素與倒

15、數(shù)第二個(gè)元素交換,直到整個(gè)數(shù)組各元素按逆序存放。 For i =1 To 102 t=iA(i) iA(i)=iA(10-i+1) iA(10-i+1)=t Next i20.1. 控件數(shù)組的概念 一組相同的控件可以組成一個(gè)控件數(shù)組,它們共用一個(gè)控件名,具有相同的屬性,建立時(shí)系統(tǒng)給每個(gè)元素賦一個(gè)唯一的索引號(hào)(Index=0,1,2,.),類似數(shù)組的下標(biāo)。 使用控件數(shù)組的最大優(yōu)點(diǎn)是數(shù)組中的各個(gè)控制件可以共享同樣的事件過(guò)程,從而減少編程工作量。 例:Private Sub cmdName_Click(Index As Integer) If Index=3 then 處理第四個(gè)命令按鈕的操作 En

16、d If End Sub5.4 控件數(shù)組21.2. 控件數(shù)組的建立(1)在設(shè)計(jì)階段建立 第一步先建立第一個(gè)控件,即在窗體上畫出該控件,設(shè)置其Name屬性,作為控件數(shù)組名。 第二步選中該控件,進(jìn)行“復(fù)制”和“粘貼”,當(dāng)彈出的對(duì)話框中出現(xiàn)“已經(jīng)有一個(gè)控件為.,創(chuàng)建控件數(shù)組嗎”信息時(shí),單擊“是”按鈕,就建立了一個(gè)控件數(shù)組,經(jīng)過(guò)若干次“復(fù)制”和“粘貼”,可以建立該控件數(shù)組的各個(gè)元素。每個(gè)元素都是一個(gè)控件,它們具有相同的Name,各個(gè)控件的index屬性值為該控件在數(shù)組中的位置(索引)號(hào),從0開(kāi)始。 第三步編制控件數(shù)組的事件過(guò)程。22.例5.3 建立含有四個(gè)命令按鈕的控件數(shù)組,當(dāng)單擊某個(gè)命令按鈕,分別顯

17、示不同的圖形或結(jié)束操作。Private Sub command1_Click(Index As Integer) Picture1.Cls Picture1.FillStyle = 5 填充右斜線圖案 Select Case Index Case 0 Picture1.Print 畫直線 Picture1.Line (2, 2)-(7, 7) Case 1 Picture1.Print 畫矩形 Picture1.Line (2, 2)-(7, 7), , BF Case 2 Picture1.Print 畫圓 Picture1.Circle (4.5, 4.5), 3.5, , , , 1 C

18、ase Else End End SelectEnd Sub23.(2) 在程序運(yùn)行階段建立 第一步在窗體上畫出某控件(如Label1),并設(shè)置該控件的Index屬性值為0,表示該控件為數(shù)組,從而建立控件數(shù)組的第一個(gè)元素 第二步在編程時(shí)通過(guò)Load方法添加其余的若干個(gè)元素,也可以通過(guò)Unload方法刪除某個(gè)添加的元素。如:Load label1(i) i=1 第三步在程序中為每個(gè)新添加的控件數(shù)組元素設(shè)置Left和Top屬性以確定其在窗體的位置,并將其Visible 屬性設(shè)置為True(或-1)。 程序運(yùn)行時(shí)會(huì)自動(dòng)按程序中的設(shè)置,將各個(gè)控件顯示在窗體上。24.例5.4 通過(guò)程序建立的方法在窗體上

19、用64個(gè)標(biāo)簽框組成一個(gè)國(guó)際象棋的棋盤。先在窗體上畫label1控件,設(shè)置其Index屬性值為0,表示該控件為數(shù)組,從而建立控件數(shù)組的第一個(gè)元素在Form_load()事件中用兩重循環(huán)由Load方法自動(dòng)生成8行8列l(wèi)abel1(k),k=8(i-1)+j,并確定每個(gè)控件的Left和Top在label1_click()事件中獲得被單擊的label1控件的index值,并改變所有控件的顏色用程序建立的方法25.*VB程序設(shè)置顏色的四種方法用RGB(x,y,z)函數(shù)x、y、z在0255之間取值黑色RGB(0,0,0) 蘭色RGB(0,0,255) 綠色RGB(0,255,0) 青色RGB(0,255,

20、255)紅色RGB(255,0,0) 洋紅色RGB(255,0,255)黃色RGB(255,255,0) 白色RGB(255,255,255)用Quick BASIC提供的顏色函數(shù)QBColor(i)0 黑色 1 蘭色 2 綠色 3 青色 4 紅色 5 洋紅色 6 黃色 7 白色 8 灰色 9 亮蘭色 10 亮綠色 11亮青色12 亮紅色 13 亮洋紅色 14 亮黃色 15 亮白使用“對(duì)象瀏覽器”中列出的內(nèi)部常數(shù) vbBlack黑 vbBlue藍(lán) vbCyan青 vbGreen綠 vbMagenta洋紅 vbRed紅 vbWhite白 vbYellow黃直接用十六進(jìn)制長(zhǎng)整數(shù)表示(數(shù)值越小顏色越

21、深) &H0&黑&HFFFFFF&白26.5.5 自定義數(shù)據(jù)類型(記錄)記錄的概念 記錄是由一組相關(guān)的數(shù)據(jù)項(xiàng)(字段)組成的整體。 例如,一個(gè)學(xué)生的記錄包括學(xué)號(hào)、姓名、性別、各門課的分?jǐn)?shù)等,均稱為數(shù)據(jù)項(xiàng)或字段,它們可以是不同的數(shù)據(jù)類型。 在VB中,每個(gè)控件是一個(gè)對(duì)象,一個(gè)對(duì)象的所有屬性組成一個(gè)記錄,屬性名則是記錄的一個(gè)數(shù)據(jù)項(xiàng)(字段)。當(dāng)用戶自己創(chuàng)建類或?qū)ο髸r(shí),就要定義屬性記錄。27.2. 記錄的定義 定義記錄時(shí),要先定義記錄類型,然后再定義該記錄類型的變量或數(shù)組。記錄類型的定義 Type 自定義類型名 元素名(下標(biāo)) As 類型名 元素名(下標(biāo)) As 類型名End Type 例:Type St

22、udType No As Integer 學(xué)號(hào) Name As String * 20 姓名 Sex As String * 1 性別 Mark(1 To 4) As Single 4門課程成績(jī) Total As Single 總分 End Type28.定義記錄的語(yǔ)句如果放在標(biāo)準(zhǔn)模塊中,可省略public。如果放在窗體中,則必須用private。如在窗體的通用聲明處Private Type StuType End Type在模塊的通用聲明處Public Type StuType End Type(2) 記錄變量或數(shù)組的定義可以用已定義的記錄類型定義變量或數(shù)組。 Dim a As StuTyp

23、e,b(20) As StuType 3. 記錄的引用(1) 引用記錄的一般形式是 . a.IntNo=123 a.StrName=“李明”29.(2) 用With語(yǔ)句引用形式: With 語(yǔ)句塊 End With 其中,對(duì)象名可以是記錄變量、控件名或其他的對(duì)象名作用:對(duì)一個(gè)對(duì)象執(zhí)行多條語(yǔ)句時(shí),可省略對(duì)象名。例如:要給記錄變量a賦值,可以用with語(yǔ)句設(shè)置。 With a .IntNo=123 .StrName=“李明” .strSex=“M” .sngMark(1)=87 .sngMark(2)=91 .sngMark(3)=79 .sngMark(4)=95 .blnTag=True En

24、d With30.例5.5 利用記錄類型編程模擬數(shù)據(jù)庫(kù)記錄的輸入、顯示和查詢。標(biāo)簽:Label1Label5 文本框:Text1Text3命令按鈕:Command1(3)在窗體通用聲明段定義記錄類型:Private Type StudType用Command1_Click(Index As Integer)事件編程新增:添加記錄前一個(gè):顯示前一條記錄后一個(gè):顯示下一條記錄最高分:顯示最高分位置:顯示總記錄數(shù)和當(dāng)前記錄號(hào)31.5.6 常用算法(二) 1.分類統(tǒng)計(jì)例5.6 輸入一串字符,統(tǒng)計(jì)各字符出現(xiàn)的次數(shù),不區(qū)分字母的大小寫。32.設(shè)計(jì):用一個(gè)文本框輸入字符串,圖形框輸出個(gè)字符的個(gè)數(shù),命令按鈕進(jìn)

25、行統(tǒng)計(jì)。算法:為了計(jì)算各字母的個(gè)數(shù),定義一個(gè)含26個(gè)元素的一維整型數(shù)組a,a(1)存放字母a或A的個(gè)數(shù),a(2)存放字母b或B的個(gè)數(shù),。為了對(duì)各個(gè)字母計(jì)數(shù),用Mid$()函數(shù)依次取出字符串中的各個(gè)字母并進(jìn)行判斷和計(jì)數(shù)。為了不區(qū)分大小寫,可用Ucase$()函數(shù)將所取出的字母一律轉(zhuǎn)換成大寫,也可用Lcase$()將所取出的字母一律轉(zhuǎn)換成小寫33.2.大量數(shù)據(jù)的輸入和編輯例5.7 利用文本框可實(shí)現(xiàn)大量數(shù)字串輸入和編輯的功能。 用Text1輸入一批數(shù)字串,Picture1顯示數(shù)字串中的各個(gè)數(shù)字,Text2輸出數(shù)組各元素用a=split(text1,”,”)將text1中的文字按逗號(hào)分割成各個(gè)數(shù)組元素

26、,并顯示在圖形框picture1中用text2=join(a,” “)將數(shù)組a合并成用空格分隔的字符串34.設(shè)計(jì):兩個(gè)命令按鈕,一個(gè)用于通知用戶輸入數(shù)字串;另一個(gè)用于合并數(shù)組元素。兩個(gè)文本框,一個(gè)用于輸入和編輯數(shù)據(jù),另一個(gè)用于輸出結(jié)果;圖形框用于輸出數(shù)組a各元素的值。算法: 通過(guò)Text1_keypress事件編程只允許輸入09、“,”、“.”和“-”; 通過(guò)Command1_Click事件編程將連續(xù)兩個(gè)逗號(hào)分隔符替換成一個(gè)逗號(hào),并用a=Split(Text1,”,”)將Text1文本框中的字符串以逗號(hào)為分界符分離出各項(xiàng)數(shù)據(jù),依次存入數(shù)組a中,并在圖形框中顯示; 通過(guò)Command2_clic

27、k事件編程,用Text2=join(a,” “)將數(shù)組a的各元素以空格為分隔符合并成字符串,并在Text2中顯示。35.3.數(shù)組排序 (1)選擇法排序 例5.8 對(duì)已存放在數(shù)組iA中的n個(gè)數(shù),用選擇法按遞增順序排序。 36.選擇排序算法 n個(gè)數(shù)排序要經(jīng)過(guò)n-1輪比較和交換(1) 第一輪從n個(gè)數(shù)中選出最小的數(shù)(遞增),與第1個(gè)數(shù)交換位置;(2) 第二輪從除第1個(gè)數(shù)外的其余n-1個(gè)數(shù)再按(1)的方法選出次小的數(shù),與第2個(gè)數(shù)交換位置。(3) 以后各i輪均從余下的數(shù)中找到最小數(shù),并與第i個(gè)數(shù)交換,直到i=n-1為止。最后構(gòu)成遞增序列。 For i = 1 To n - 1 iMax= i For j

28、= i+1 To n If iA(iMax) iA(j) Then iMax = j end if Next j t= iA(i) iA(i) = iA(iMax) iA(iMax) = t Next I 37. (2)冒泡法排序 例5.9 對(duì)例5.8用冒泡法按遞增順序排序。 冒泡排序算法: n個(gè)數(shù)排序也要經(jīng)過(guò)n-1輪比較和交換第一輪從第一個(gè)數(shù)開(kāi)始,與第二個(gè)數(shù)比較,若第一個(gè)數(shù)大于第二個(gè)數(shù),則將二者交換位置;否則,不交換。其后,再將第二個(gè)數(shù)與第三個(gè)數(shù)比較,順序不對(duì)的,也同樣進(jìn)行交換,直到倒數(shù)第二個(gè)數(shù)。結(jié)果:最大的數(shù)沉底,最小數(shù)上浮一個(gè)位置;第二輪仍從第一個(gè)數(shù)開(kāi)始,依次進(jìn)行相鄰兩個(gè)數(shù)的比較,必要時(shí)

29、進(jìn)行交換,直到倒數(shù)第三個(gè)數(shù),結(jié)果:次大數(shù)將落在倒數(shù)第二個(gè)位置上,最小數(shù)繼續(xù)上浮一個(gè)位置;以后各i輪均從第1個(gè)數(shù)開(kāi)始,直到倒數(shù)第n-i+1個(gè)數(shù),進(jìn)行相鄰兩數(shù)的比較,直到i=n-1為止,此時(shí)最小數(shù)將上浮到第一個(gè)位置上,從而最后構(gòu)成遞增序列。38. Option Base 1 Dim i%, j%, imax%, t% For i = 1 To n-1 For j = 1 To n+1-i If iA(j) iA(j + 1) Then t = iA(j) iA(j) = iA(j + 1) iA(j + 1) = t End If Next j Next i For i = 1 To n Picture2.Print iA(i) Next i原始數(shù)據(jù):8 6 9 3 2 7第一輪 6 8 3

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論