矩陣的遍歷 按行 按列 蛇形

2021-08-15 07:39:36 字數 861 閱讀 7547

這裡有乙個假設: 

在影象處理等領域中,二維矩陣已經按照行的方式存放在了一維陣列mat中了。 

矩陣的高記為height,寬記為width; 

1.按行遍歷

for (int i = 0; i < height; ++i)

for (int j = 0; j < width; ++j)

mat[i*width + j];

2.按列遍歷

僅需調換一下兩個for語句的順序。 

for (int j = 0; j < width; ++j)

for (int i = 0; i < height; ++i)

mat[i*width + j];

3.蛇形遍歷

蛇形遍歷只適合於正方形的矩陣,邊長記為n。

基本思想是:讓橫縱座標同時變化,就會按照蛇形進行遍歷。 

for (int k = 0; k < n; ++k)

for (int i = k, j = 0; i >= 0; --i, ++j)

mat[i*n + j];

下面是一段完整的蛇形遍歷的**: 

實現的功能是:生成乙個蛇形的矩陣,並且將該矩陣輸出。 

#includeusing namespace std;

int main()

//輸出矩陣

for (int i = 0; i < n; ++i)

}}

輸入5:

輸出:1 3 6 10 15

2 5 9 14

4 8 13

7 12

11

pandas按行按列遍歷Dataframe

dataframe.iterrows 按行遍歷,將dataframe的每一行迭代為 index,series 對,可以通過row name 對元素進行訪問。dataframe.itertuples 按行遍歷,將dataframe的每一行迭代為元祖,可以通過row name 對元素進行訪問,比iter...

程式讀檔案的方式 按字元 按行 按單詞

程式讀檔案的方式 乙個字元乙個字元進行讀取 include include using namespace std intmain fp.close return0 程式讀檔案的方式 逐行讀取 include include using namespace std intmain fp.close ...

python中numpy矩陣排列是按行還是按列

python中的矩陣是按行排列的 numpy可以使用reshape 函式進行矩陣重排列,預設按行排列 c語言風格 通過修改order引數可以改為按列排列 fortran風格 參考例子 in 1 import numpy as np in 2 a np.array 1,2,3 4,5,6 in 3 p...