利用memset和fill n初始化二維陣列

2021-09-19 19:04:41 字數 1112 閱讀 7574

const int m = 5 ,n=10;

int** a;

a= new int* [m];

for (int i=0; ic++中利用new建立二維陣列,並且使用memset進行初始化。

#include #include int main(void){

int n,m;

while(std::cin >>n >>m)

{//動態建立二維陣列

int **a = new int *[n];

for(int i=0; ifill 和fill_n函式是c++ primer第十章泛型演算法部分內容,並把它們稱為生成和變異演算法,也就是說這兩個函式只能對輸入範圍內已存在的元素進行操作。如果試圖對空容器進行fill_n操作,會導致嚴重的執行錯誤,所以在對元素進行寫入操作時要檢查目標的大小是否足以儲存要寫入的元素。

fill函式的作用是:將乙個區間的元素都賦予val值。函式引數:fill(vec.begin(), vec.end(), val); val為將要替換的值

# include fill(vec.begin(), vec.end(), val); //原來容器中每個元素被重置為val

fill_n函式的作用是:引數包括 : 乙個迭代器,乙個計數器以及乙個值。該函式從迭代器指向的元素開始,將指定數量的元素設定為給定的值。

注意: 不能在沒有元素的空容器上呼叫fill_n函式,但是可以通過下面的方法改進。

為了保證演算法有足夠的元素儲存輸出資料,我們使用「插入迭代器」(insert iterator),插入迭代器是可以給基礎容器新增元素的迭代器。

使用 back_inserter 的程式需要包含標頭檔案#include,將上面的程式改寫成:

#include vectorvec; //定義乙個空容器

fill_n (back_inserter(vec), 10, val);

利用fill_n初始化二維陣列舉例:

bool dp[n][n];

fill_n(&dp[0][0],n*n,false);

注意演算法永遠不會執行容器的操作。

C fill()和fill n 函式用法

c fill 和fill n 函式用法 fill 和fill n函式是c primer第十二章泛型演算法部分內容,並把它們稱為生成和變異演算法,也就是說這兩個函式只能對輸入範圍內已存在的元素進行操作。如果試圖對空容器進行fill n操作,會導致嚴重的執行錯誤,所以在對元素進行寫入操作時要檢查目標的大...

C fill和fill n函式用法介紹和比較

侵刪 fill函式的作用是 將乙個區間的元素都賦予val值。函式引數 fill first,last,val first為容器的首迭代器,last為容器的末迭代器,val為將要替換的值。例題 給你n個數,然後輸入一些操作 start,end,paint。表示從start到end都賦予paint的值,...

發現了climits和STL的fill n ,哈

看別人 突然發現還有climits limits.h 這麼個頭檔案,以後初始化最大值最小值什麼的就方便多啦 我執行下了那個程式。同樣是那個人的 我不知道那是誰。還發現fill n 可以將值拷貝給first first n個元素 fill n 原型 template class forwarditer...