首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

VB6 數組刪除中間片段並重組新數組的實現方法

     編輯:程式設計疑難解答

需求

從數組中間刪除一段,將前後兩部分合併為新數組。

實現邏輯

Dim src(1 To 100) As Long
Dim dst() As Long
Dim delStart As Long, delEnd As Long
delStart = 30: delEnd = 40  ' 刪除 30-40

Dim newSize As Long
newSize = UBound(src) - LBound(src) + 1 - (delEnd - delStart + 1)
ReDim dst(LBound(src) To LBound(src) + newSize - 1)

Dim i As Long, j As Long
' 複製前段
For i = LBound(src) To delStart - 1
    j = j + 1
    dst(j) = src(i)
Next
' 複製後段
For i = delEnd + 1 To UBound(src)
    j = j + 1
    dst(j) = src(i)
Next
' dst 現在為連續下標的新數組

關鍵點

  • 計算新數組大小:原大小 - 刪除段長度。
  • 用單獨索引 j 寫入目標數組,自動實現下標連續。
  • 若需頻繁操作,考慮使用集合類 (Collection、Dictionary) 或升級 VB.NET 使用 List(Of T)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved