
- C 標準庫
- C 標準庫
- C++ 標準庫
- C++ 庫 - 首頁
- C++ 庫 - <fstream>
- C++ 庫 - <iomanip>
- C++ 庫 - <ios>
- C++ 庫 - <iosfwd>
- C++ 庫 - <iostream>
- C++ 庫 - <istream>
- C++ 庫 - <ostream>
- C++ 庫 - <sstream>
- C++ 庫 - <streambuf>
- C++ 庫 - <atomic>
- C++ 庫 - <complex>
- C++ 庫 - <exception>
- C++ 庫 - <functional>
- C++ 庫 - <limits>
- C++ 庫 - <locale>
- C++ 庫 - <memory>
- C++ 庫 - <new>
- C++ 庫 - <numeric>
- C++ 庫 - <regex>
- C++ 庫 - <stdexcept>
- C++ 庫 - <string>
- C++ 庫 - <thread>
- C++ 庫 - <tuple>
- C++ 庫 - <typeinfo>
- C++ 庫 - <utility>
- C++ 庫 - <valarray>
- C++ STL 庫
- C++ 庫 - <array>
- C++ 庫 - <bitset>
- C++ 庫 - <deque>
- C++ 庫 - <forward_list>
- C++ 庫 - <list>
- C++ 庫 - <map>
- C++ 庫 - <multimap>
- C++ 庫 - <queue>
- C++ 庫 - <priority_queue>
- C++ 庫 - <set>
- C++ 庫 - <stack>
- C++ 庫 - <unordered_map>
- C++ 庫 - <unordered_set>
- C++ 庫 - <vector>
- C++ 庫 - <algorithm>
- C++ 庫 - <iterator>
- C++ 高階庫
- C++ 庫 - <any>
- C++ 庫 - <barrier>
- C++ 庫 - <bit>
- C++ 庫 - <chrono>
- C++ 庫 - <cinttypes>
- C++ 庫 - <clocale>
- C++ 庫 - <condition_variable>
- C++ 庫 - <coroutine>
- C++ 庫 - <cstdlib>
- C++ 庫 - <cstring>
- C++ 庫 - <cuchar>
- C++ 庫 - <charconv>
- C++ 庫 - <cfenv>
- C++ 庫 - <cmath>
- C++ 庫 - <ccomplex>
- C++ 庫 - <expected>
- C++ 庫 - <format>
- C++ 庫 - <future>
- C++ 庫 - <flat_set>
- C++ 庫 - <flat_map>
- C++ 庫 - <filesystem>
- C++ 庫 - <generator>
- C++ 庫 - <initializer_list>
- C++ 庫 - <latch>
- C++ 庫 - <memory_resource>
- C++ 庫 - <mutex>
- C++ 庫 - <mdspan>
- C++ 庫 - <optional>
- C++ 庫 - <print>
- C++ 庫 - <ratio>
- C++ 庫 - <scoped_allocator>
- C++ 庫 - <semaphore>
- C++ 庫 - <source_location>
- C++ 庫 - <span>
- C++ 庫 - <spanstream>
- C++ 庫 - <stacktrace>
- C++ 庫 - <stop_token>
- C++ 庫 - <syncstream>
- C++ 庫 - <system_error>
- C++ 庫 - <string_view>
- C++ 庫 - <stdatomic>
- C++ 庫 - <variant>
- C++ STL 庫速查表
- C++ STL - 速查表
- C++ 程式設計資源
- C++ 程式設計教程
- C++ 有用資源
- C++ 討論
C++ vector::resize() 函式
C++ vector::resize() 函式用於透過指定元素數量 (n) 調整容器大小。如果 n 小於當前向量的大小,則內容僅限於向量的前 n 個元素。resize() 函式的時間複雜度為線性。
如果 n 大於當前向量的大小,則新元素將新增到向量的末尾。如果指定了 val,則新元素將使用 val 初始化;否則,它們將進行值初始化。
語法
以下是 C++ vector::resize() 函式的語法:
void resize (size_type n);void resize (size_type n, const value_type& val);
引數
- n - 表示新的容器大小,以元素數量表示。
- val - 表示用於初始化新元素的值。
示例 1
讓我們考慮以下示例,我們將使用 resize() 函式。
#include <iostream> #include <vector> using namespace std; int main(void) { vector<int> v; cout << "Initial vector size = " << v.size() << endl; v.resize(5, 10); cout << "Vector size after resize = " << v.size() << endl; cout << "Vector contains following elements" << endl; for (int i = 0; i < v.size(); ++i) cout << v[i] << endl; return 0; }
輸出
當我們編譯並執行上述程式時,將產生以下結果:
Initial vector size = 0 Vector size after resize = 5 Vector contains following elements 10 10 10 10 10
示例 2
考慮另一種情況,我們將使用字串型別並減小向量的大小。
#include <iostream> #include <vector> using namespace std; int main(){ vector<string> car = {"AUDI", "BUCATI", "CHERON", "BMW","BENZ"}; cout << "current size of the vector: " << car.size() << endl; car.push_back("RS7"); car.push_back("Q5"); car.push_back("LAMBO"); cout << "current size of the vector after insertion: " << car.size() << endl; car.resize(3); cout << "current size of the vector after resize: " << car.size() << endl; return 0; }
輸出
執行上述程式後,將產生以下結果:
current size of the vector: 5 current size of the vector after insertion: 8 current size of the vector after resize: 3
示例 3
在以下示例中,我們將使用 n 大於當前向量的大小。
#include<iostream> #include<vector> using namespace std; int main(){ vector<string> bike{"RX100","ACCESS","ACTIVA"}; cout<<"Elements before resize:"<<endl; for(int i=0;i<bike.size();i++) cout<<bike[i]<<" "<<endl; bike.resize(5,"VESPA"); cout<<"Elements after resize:"<<endl; for(int i=0;i<bike.size();i++) cout<<bike[i]<<" "<<endl; return 0; }
輸出
執行上述程式後,將產生以下結果:
Elements before resize: RX100 ACCESS ACTIVA Elements after resize: RX100 ACCESS ACTIVA VESPA VESPA
示例 4
以下是示例,我們將使用浮點型別並使用值調整向量大小。
#include <iostream> #include <vector> using namespace std; int main(){ vector<float> tutorial = {1.2,2.3,0.4,0.5}; cout << "Vector values before resize:\n"; for(int i = 0; i < tutorial.size(); ++i) cout << tutorial[i] << " "; cout << "\n"; tutorial.resize(6,0.67); cout << "Vector values after resize:\n"; for(int i = 0; i < tutorial.size(); ++i) cout << tutorial[i] << " "; cout << "\n"; return 0; }
輸出
執行上述程式後,將產生以下結果:
Vector values before resize: 1.2 2.3 0.4 0.5 Vector values after resize: 1.2 2.3 0.4 0.5 0.67 0.67
廣告