IT討論區 (141) 持續關注大師兄精神健康

1001 回覆
1 Like 1 Dislike
2022-01-17 00:59:39
首先平時你用for i = 0...n呢個方法呢,其實只適用於一D data structure係stored in contiguous memory,例如array
咩意思呢,假設你有以下嘅數據 A:
memory address: data
---------------------------------
0000: 1
0001: 2
0002: 3
0003: 4
-----------------------------------
咁其實你係可以將每個數據嘅位置寫做第一個數據嘅位置 + 某個offset (0, 1, 2, ... n) 去攞到每一個數據,姐係
A[0 + i], i = 0, ..., n

而你可以咁做係因為基於呢堆數據係連續咁儲存係memory裡面
但對於其他data structure,呢個假設未必成立

例如linked list咁,你就要儲存下一個node嘅位置係而家呢個node裡面,咁你先可以access到下一個node,從而traverse到成個container

而其他data structure亦有佢自己traverse element嘅方式,呢樣野係cas dependent嘅

為左方便programmer寫code去traverse唔同嘅container呢,D人就諗到不如發明一舊叫iterator,programmer揸住呢個iterator就可以用同一個方式traverse唔同嘅container啦,而呢個container實際上內部點樣攞到下一個element嘅位置呢,就交比呢個iterator內部嘅唔同implementation去做啦
2022-01-17 02:42:15
2022-01-17 07:01:42
2022-01-17 07:34:08
2022-01-17 08:54:56
答得好好
好過stack overflow 答同一條問條啲人
2022-01-17 08:55:54
2022-01-17 09:07:03
答新手問題正確態度
2022-01-17 09:12:38
請受小弟一拜
2022-01-17 12:25:14
受小弟一拜,好nice,親手打咁大篇
呢度d“大佬”淨係識9up兜圈笑鳩人,巴打真係清泉
2022-01-17 12:38:22
2022-01-17 12:50:37
2022-01-17 12:51:04
有時我會覺得唔答都唔稱上壞事

呢個世界最詭異既事莫過於知道得多等同行上一條不歸路
2022-01-17 13:07:20
請指教邊個位你覺得係9up兜圈笑鳩人
認真問 想睇下自己有冇份 有則改之 無則加勉
2022-01-17 13:17:49
睇返佢個comment,我諗佢用for loop既意思係
for{
head = head->next;
}
正常linked list冇得用index access
2022-01-17 13:31:03
我諗佢唔知道array同linkedlist有咩分別
所以大家圍繞緊呢點
不過你個code最實用 你想要index幾就loop幾多次
2022-01-17 13:43:17
咁講,多數香港學生唔習慣你咁問法
特別係身份上係senior 嗰佢個陣
你咁問佢會覺得自己做錯嘢自己好蠢
唔敢答

利申:就係嗰個香港學生
2022-01-17 13:48:18
當然,仲有個前題係佢本身對嗰樣嘢唔夠認識,仲係入門
如果佢大部分都明,係得少少唔明,咁通常都好少少
如果本身淨係識少少,就會好怕被人知佢淨識少少
2022-01-17 13:50:15
即係咁
手巴無反問返佢思考題 手巴係嘗試理解佢問個個問題喎
你話反問一堆思考題會有壓力 手巴認同既 (應唔應該比壓力 比幾大 呢啲唔討論住
但係搞清楚問緊咩 手巴唔認同會有壓力
上得連登大家成年人 返工都周不時經歷miscommunication 並唔係人做錯野/蠢既問題
2022-01-17 13:53:06
2022-01-17 13:55:58
2022-01-17 13:58:07
手巴希望做薪水強盜
2022-01-17 14:00:34
我咪話同 while 冇分別
2022-01-17 14:01:45
同意
都唔知門緊乜點答
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞