原生陣列和vector、array都不支援構造乙個遞增的陣列,比如乙個包含0~999的size為1000的陣列。
int ids[
1000]=
;for
(int i =
0; i <
1000
;++i)
如果是std::vector,則是:
std::vector<
int> ids;
ids.
resize
(1000);
for(
int i =
0; i <
1000
;++i)
也有人用使用lambda表示式來實現
現在介紹c++11新增的std::iota,需要包含標頭檔案numeric
可能的實現:
官方文件:
template
<
class
forwarditerator
,class
t>
void
iota
(forwarditerator first, forwarditerator last, t value)
}
使用舉例
#include
#include
#include
#include
intmain()
//或者用下面的一句話輸出ivec中內容
std::
copy
(ivec.
begin()
, ivec.
end(
), std::ostream_iterator<
int>
(std::cout,
" "));
getchar()
;return0;
}
std::
iota
(ivec.
begin()
, ivec.
end(),
4);
std::iota的第三個引數是初值,後面的依次將++value賦值給相應的元素。
參考:小二,給我來乙個遞增序列
vector的幾種初始化及賦值方式
c++如何構造乙個遞增的vector陣列
快速入門C 1
大家最為熟悉的就是各種hello world了吧 今天我們就從這裡開始講解 include iostream using namespace std int main include 包含 引用 所以吶,這就是引用庫之類的標頭檔案 h iostream是指iostream庫,iostream的意思是...
子串行1 最長遞增子串行
子串行問題本來就比子串和子陣列要難,因為子串行是不連續的,窮舉困難,而且子串行一般涉及兩個字串,一般來說都是讓求乙個最長子序列,涉及子串行和最值,那一定是動態規劃,o n2 1.定義dp陣列有兩種思路,第一種是乙個一維的dp陣列,兩次for迴圈來解決,dp i 的含義是在array陣列中,以arra...
C 1 資料型別
分為兩類 1.基本資料型別 2.引用資料型別 基本資料型別 1整數型 有負數的 sbyte,short int long 正整數 byte,ushort,uint,ulong 可能會表現的不夠形象,看下圖 2.浮點數 float 適用於較小的浮點數 在後面加f 例 float a 1.0f 單精度 ...