C++程式:從給定向量中移除元素
假設我們有一組存在於向量中的元素。我們將不得不使用向量類型別的erase()函式執行一些刪除操作,以便使用索引進行刪除,最後顯示其餘元素。erase函式不直接使用索引。我們將不得不透過傳遞v.begin()+index來傳遞其地址,這裡v是向量,v.begin()是第一個元素(第0個元素)的地址。現在透過向其新增索引,它將移動到給定索引處存在的元素。
因此,如果輸入類似於v = [5,8,6,3,2,0,1,4],從索引2、6和5處刪除,則輸出將為[5,8,3,2,0],因為最初陣列為[5,8,6,3,2,0,1,4],現在從索引2處刪除元素後,它變為[5,8,3,2,0,1,4],現在索引6處的元素為4,因此刪除它後,陣列將變為[5,8,6,3,2,0,1],現在索引5處的元素為1,因此刪除它後,陣列將變為[5,8,3,2,0]。
為了解決這個問題,我們將遵循以下步驟:
使用v.erase(v.begin()+2)刪除索引2處的元素
使用v.erase(v.begin()+6)刪除索引6處的元素
使用v.erase(v.begin()+5)刪除索引5處的元素
示例
讓我們看看下面的實現以更好地理解:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
vector<int> v = {5,8,6,3,2,0,1,4};
v.erase(v.begin()+2);
v.erase(v.begin()+6);
v.erase(v.begin()+5);
for(int i = 0; i<v.size(); i++){
cout << v[i] << " ";
}
}
輸入
{5,8,6,3,2,0,1,4}輸出
5 8 3 2 0
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP