在leetcode裡做到將兩個有序陣列合併成乙個,在原地第乙個陣列下進行(假設第乙個陣列的儲存單元夠用)本來是乙個很簡單的問題。自己在隨便初始化vector變數時候不知道 vectora(m, m + 9);裡面9所選的大小應該為陣列的大小,選成了8.導致一直有問題。。啊啊啊,細節決定成敗啊。還有一點就是方法中要注意while (j >= 0 && i >= 0)中i>=0的判斷。否則的話第乙個陣列選擇完後一直沒有第二個陣列剩下要比較的元素大,則第乙個陣列下標一直自減,最後會是很大的負數,導致陣列越界。
#include
#include
using namespace std;
//class solution
//else
nums1[k--] = nums2[j--];
}if (j >= 0)
// int i;
for (i = 0; i < m + n; i++)
{coutvectorb(n, n + 6);
merge(a, 3, b, 6);
return 0;
vector陣列的初始化
vector容器是包含 type 型別元素的序列容器。vector容器的大小 長度 可以自動增長,從而可以包含任意數量的元素,只要元素個數超出 vector 當前容量,就會自動分配更多的空間。但是只能在容器尾部高效地刪除或新增元素。vectorname type 指數組型別,例如int,float,...
Vector初始化及用法
vector類為內建陣列提供了一種替代表示,與string類一樣 vector 類是隨標準 c 引入的標準庫的一部分 為了使用vector 我們必須包含相關的標頭檔案 include 使用vector有兩種不同的形式,即所謂的陣列習慣和 stl習慣。一 陣列習慣用法 1.定義乙個已知長度的 vect...
vector幾種初始化方法
1 不帶引數的建構函式初始化 初始化乙個size為0的vector vector abc 2 帶引數的建構函式初始化 初始化size,但每個元素值為預設值 vector abc 10 初始化了10個預設值為0的元素 初始化size,並且設定初始值 vector cde 10,1 初始化了10個值為1...