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

VB6 模擬 vector::erase 刪除數組中間元素並前移後續項

     編輯:程式設計疑難解答

場景

刪除數組中間某元素,後續元素前移填補空位。

VB6 手動實現

Dim arr(1 To 100) As Long
Dim delIndex As Long: delIndex = 50
Dim i As Long

' 前移
For i = delIndex To UBound(arr) - 1
    arr(i) = arr(i + 1)
Next
' 縮小數組
ReDim Preserve arr(1 To UBound(arr) - 1)

對比 C++ vector::erase

vector v = {1,2,3,4,5};
v.erase(v.begin() + 3); // 刪除第 4 個元素 (值 4)
// v 變為 {1,2,3,5},大小自動縮減

VB6 注意事項

  • ReDim Preserve 只能修改最後一維且下標下限不變。
  • 頻繁刪除建議改用 Collection 或自定義鏈表類。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved