關於雙指標遍歷

2021-07-03 03:40:39 字數 907 閱讀 6982

今晚跟乙個朋友突然問我,你懂雙指標遍歷嗎?並叫我敲出**。當時自己愣住了,但是還是寫出來了,第乙個版本是:

#include

using namespace std;

int main(int argc, char** argv, char** arge)

return 0;

}int argc:表示你在命令列輸入命令時,一共有多少個引數;

char** argv:是表示輸入引數的字串陣列;

char** arge:是表示系統環境變數。 

上面的**雖然可以完成遍歷,但是是用二維陣列的形式遍歷,沒有達到我朋友說的要求,而且效率低下。我朋友說作為乙個優秀的c/c++軟體工程師,應該用高效率的指標遍歷,想了想,經過改動,就有了第二個版本,**如下:

#include

using namespace std;

int main(int argc, char** argv, char** arge)

cout<<"輸出環境變數:"//int* a; int ** b; a++是加的乙個指標,b++加的是四個指標(當然,這是相對的,不是絕對的)。

while(*arge)

return 0;

} 以上的版本二就是二維指標的遍歷,但僅僅代表個人見解,如有什麼不對的地方,還望各位多多指點。

//昨晚的理解似乎有點問題,現在重新說下自己的理解。

#include

using namespace std;

int main(int argc, char** argv, char** arge)

cout<<"輸出環境變數:"//int* a; int ** b; a++是加的乙個一級指標,b++加的是乙個二級指標。

while(*arge)

return 0;

}

關於雙指標

而是兩個指向陣列首尾的指向。如圖 首先對陣列進行排序,將頭指標與尾指標指向的數進行相加,如果小於目標數,頭指標向後移動一次,如果大於目標數,尾指標向前移動乙個位置 直到等於目標數結束。然後將兩個位置的數與原陣列進行檢索,找到下標。如下 雙指標的運用 回文串的判定,遇見非字母或數字就跳過 關於雙個指標...

寒假刷雙指標《雙指標》

633.平方數之和 難度中等163 給定乙個非負整數c,你要判斷是否存在兩個整數a和b,使得a2 b2 c。示例 1 輸入 c 5輸出 true解釋 1 1 2 2 5示例 2 輸入 c 3輸出 false示例 3 輸入 c 4輸出 true示例 4 輸入 c 2輸出 true示例 5 輸入 c 1...

雙指標遍歷 滑動視窗 42 接雨水

6.42 接雨水 上面是由陣列 0,1,0,2,1,0,1,3,2,1,2,1 表示的高度圖,在這種情況下,可以接 6 個單位的雨水 藍色部分表示雨水 暴力解,o n o 1 class solution for int j i j size j ans math.min leftmax,right...