遍歷矩陣的幾種方式

2021-09-28 15:56:41 字數 460 閱讀 1440

class solution {

public:

vectorfinddiagonalorder(vector>& matrix) {

vectorres;

int m = matrix.size();

if(m==0)

return res;

int n = matrix[0].size();

int x=0,y=0;

res.push_back(matrix[x][y]);

for(int i=0;i0&&x0)

res.push_back(matrix[--x][++y]);

if(y注意最後一次迴圈必須不要,因為每次迴圈會將下一次迴圈的起始點新增進vector中,所以倒數第二次迴圈已經將最後一次的起始點(也是最後一次唯一的乙個點)加入到vector中了,如果進行最後一次迴圈,就會再新增乙個越界的點到陣列中,造成陣列越界。

遍歷的幾種方式

es5的話也可以使用foreach,es5具有遍歷陣列功能的還有map filter some every reduce reduceright等,只不過他們的返回結果不一樣。但是使用 foreach 遍歷陣列的話,使用 break 不能中斷迴圈,使用 return 也不能返回到外層函式。使用for...

游標遍歷的幾種方式

1.定義游標 cursor c student is select id,first name,last name,major from t test students 遍歷游標 open c student loop fetch c student into v newid,v newfirstn...

集合的幾種遍歷方式

listlist new arraylist list.add aaa list.add bbb list.add ccc 普通for迴圈 for int i 0 i list.size i 增強for迴圈 for string string list 使用迭代器 iteratorite list....