在 C 中,可以使用 STL 的向量類別來提取向量的一部分作為新向量。
最直接的方法是建立迭代器到所需的範圍內原始向量並將它們作為參數傳遞給新向量的建構子。例如:
vector<T>::const_iterator first = myVec.begin() + 100000; vector<T>::const_iterator last = myVec.begin() + 101000; vector<T> newVec(first, last);
這會將索引 100000 到 100999 的元素複製到新向量 newVec 中,從而得到大小為 1000 的向量。
但是,這種方法不是最有效的。從現有向量的一部分建立新向量涉及建立元素的副本。如果向量很大,這可能會很耗時。
對於效能關鍵型應用程序,可以考慮使用 std::span 或 std::array 等替代資料結構。這些提供了更有效的方法來建立子範圍視圖,而無需複製。
以上是如何在 C 中有效地提取子向量?的詳細內容。更多資訊請關注PHP中文網其他相關文章!