給一個(gè)思路:第一是新建一個(gè)數(shù)組,把兩個(gè)數(shù)組元素傳遞過(guò)去,這個(gè)比較簡(jiǎn)單;
網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制網(wǎng)站建設(shè)服務(wù),專(zhuān)注于成都企業(yè)網(wǎng)站建設(shè),高端網(wǎng)頁(yè)制作,對(duì)塔吊租賃等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。專(zhuān)業(yè)網(wǎng)站設(shè)計(jì),網(wǎng)站優(yōu)化推廣哪家好,專(zhuān)業(yè)seo優(yōu)化排名優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。
第二:把其中一個(gè)數(shù)組做為母數(shù)組,把另一個(gè)數(shù)組合并過(guò)來(lái),這個(gè)用到數(shù)組保護(hù)機(jī)制如下:
Option Explicit
Dim a(): Dim b()
Private Sub Command1_Click()? ? '初始化數(shù)組A B
Dim i As Integer
'重新定義數(shù)組長(zhǎng)度,并賦值
ReDim a(5)
ReDim b(4)
For i = 0 To 5
a(i) = i
Print "數(shù)組a" "(" i ")" "=" a(i)
Next i
For i = 0 To 4
b(i) = 1 i
Print "數(shù)組b" "(" i ")" "=" b(i)
Next i
End Sub
Private Sub MergeArr_cmd_Click()? ?'合并A 和 B兩個(gè)數(shù)組
Dim s As Integer
Dim h As Integer
Dim i As Integer
h = UBound(a)
s = UBound(a) + UBound(b) + 1
ReDim Preserve a(s)? ? '采用保護(hù)機(jī)制,把數(shù)組A元素加長(zhǎng),長(zhǎng)度為:數(shù)組A和B的長(zhǎng)度之和
For i = 1 To UBound(b) + 1? ? '將數(shù)組B元素加入到數(shù)組A中
a(h + i) = b(i - 1)
Next i
For i = 0 To s
Print "數(shù)組a" "(" i ")" "=" a(i)
Next
End Sub
Private Sub Command1_Click()
a = Array(1, 2, 4, 7, 9, 34, 65, 73, 78, 99, 234, 1234)
b = Array(0, 23, 33, 56, 78, 98, 99, 234, 1000, 9999)
Dim c(30)
i = 0
j = 0
k = 0
While i = UBound(a) And j = UBound(b)
If a(i) b(j) Then
c(k) = a(i)
i = i + 1
Else
c(k) = b(j)
j = j + 1
End If
k = k + 1
Wend
While i UBound(a)
c(k) = a(i)
i = i + 1: k = k + 1
Wend
While j UBound(b)
c(k) = b(j)
j = j + 1: k = k + 1
Wend
Print "原A數(shù)組:"
For i = 0 To UBound(a)
Print a(i);
Next i
Print "原B數(shù)組:"
For i = 0 To UBound(b)
Print b(i);
Next i
Print "合并后的c數(shù)組:"
For i = 0 To k
Print c(i);
If i Mod 15 = 14 Then Print
Next i
End Sub
Option?Explicit
Function?JionNumber(a?As?Variant,?b?As?Variant,?c?As?Variant)?'a數(shù)組和b數(shù)組?合并到c數(shù)組
Dim?i?As?Integer,?j?As?Integer
ReDim?c(UBound(a)?+?UBound(b)?+?1)
For?i?=?0?To?UBound(a)
c(i)?=?a(i)
Next
For?j?=?i?To?UBound(b)?+?i
c(j)?=?b(j?-?i)
Next
End?Function
Private?Sub?SelectSort(Xarray()?As?Variant)??'選擇排序法,升序排序
Dim?i%,?j%,?k%,?t%,?Start%,?Finish%
Start?=?LBound(Xarray,?1)
Finish?=?UBound(Xarray,?1)
For?i?=?Start?To?Finish?-?1
k?=?i
For?j?=?i?+?1?To?Finish
If?Xarray(j)??Xarray(k)?Then?k?=?j??'k表示當(dāng)前最大值對(duì)應(yīng)的下標(biāo)
Next?j
If?k??i?Then
t?=?Xarray(i)
Xarray(i)?=?Xarray(k)
Xarray(k)?=?t
End?If
Next?i
End?Sub
Private?Sub?Command1_Click()
Dim?a()?As?Variant,?b()?As?Variant,?c()?As?Variant,?d()?As?Variant,?e()?As?Variant
Dim?f()?As?Variant?'合并后的數(shù)組
Dim?ab,?abc,?abcd,?i%
a?=?Array(10,?11,?18,?19,?26,?27,?40,?41,?48,?49)
b?=?Array(1,?8,?9,?22,?23,?30,?31,?38,?39)
c?=?Array(6,?7,?14,?15,?28,?29,?36,?37,?44,?45)
d?=?Array(2,?3,?16,?17,?24,?25,?32,?33,?46,?47)
e?=?Array(4,?5,?12,?13,?20,?21,?34,?35,?42,?43)
JionNumber?a,?b,?ab?'合并數(shù)組
JionNumber?ab,?c,?abc
JionNumber?abc,?d,?abcd
JionNumber?abcd,?e,?f
Text1?=?"排序前:"??vbCrLf
For?i?=?0?To?UBound(f)
Text1?=?Text1??"?"??f(i)
Next?i
Text1?=?Text1??vbCrLf??"排序后:"??vbCrLf
SelectSort?f()?'排序
For?i?=?0?To?UBound(f)
Text1?=?Text1??"?"??f(i)
Next?i
End?Sub
Text1屬性:MultiLine?設(shè)為?True,ScrollBars設(shè)為2
合并數(shù)組沒(méi)有簡(jiǎn)單辦法,只能一維一維的取出來(lái),放到一新數(shù)組中。新數(shù)組維數(shù)是原兩數(shù)組維數(shù)相加。
比如兩個(gè)數(shù)組 A ,B
dim newAr() '如果兩個(gè)數(shù)組類(lèi)型相同話 ,可以定義類(lèi)型。
redim newAr(ubound(A)-lbound(A)+1+ubound(B)-lbound(B)+1-1) ‘由于數(shù)組定義只能用常數(shù)表達(dá)式定義維數(shù),所以用動(dòng)態(tài)數(shù)組。
把兩數(shù)組項(xiàng)目添加到newAr 中
dim Index as integer
dim i as integer
for i=LBound(A) to UBound(A)
newAr(Index)=A(i)
Index=Index+1
next
for i=LBound(B) to UBound(B)
newAr(Index)=B(i)
Index=Index+1
next
Private Sub Command1_Click()
Dim a(1 To 10), b(1 To 10), c(1 To 20)
Randomize
For i = 1 To 10
a(i) = Int(Rnd * 100)
b(i) = Int(Rnd * 100)
Next i
For i = 1 To 9
For j = 10 To i + 1 Step -1
If a(i) a(j) Then d = a(i): a(i) = a(j): a(j) = d
If b(i) b(j) Then d = b(i): b(i) = b(j): b(j) = d
Next j, i
For i = 1 To 10
Print a(i);
Next i
For i = 1 To 10
Print b(i);
Next i
'下面就是合并過(guò)程
j = 1
For i = 1 To 10
Do
If a(i) b(j) Then
k = k + 1
c(k) = a(i)
Exit Do
Else
k = k + 1
c(k) = b(j)
j = j + 1
If j 10 Then Exit For
End If
Loop
Next i
If i = 10 Then
For n = i To 10
k = k + 1
c(k) = a(n)
Next n
End If
If j = 10 Then
For n = j To 10
k = k + 1
c(k) = b(n)
Next n
End If
'合并結(jié)束
For i = 1 To 20
Print c(i);
Next i
End Sub
Private Sub Form_Load()
Me.AutoRedraw = True
End Sub
當(dāng)前名稱:vb.net動(dòng)態(tài)數(shù)組合并 vb靜態(tài)數(shù)組
本文來(lái)源:http://aaarwkj.com/article46/dooojhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、電子商務(wù)、定制網(wǎng)站、ChatGPT、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容