[問題] 請問二元樹裡面的遞迴???
請問二元樹裡面走訪所有的Node各本上寫的和網路上寫的都是下面
這樣
void inorderLDR(bt ptr)
{
if(ptr==NULL) return;
inorderLDR(ptr->left_child);
printf("%c",ptr->data);
inorderLDR(ptr->right_child);
}
但是我很不能理解的是??當往左邊找到最後一的Node的時候
他下面的Left和Right都是Null所以printf 最後一個Node
但是他又是怎麼會到上層的Nonde????????
因為ptr->left_child 和ptr_right_child不管怎麼看
都是往下面左右的找節點啊!!!這個程式碼是怎麼在迴車
到上一層的節點??
請問有人可以幫我改成不要用遞迴的方式嗎??
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.249.98.153
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1528959686.A.BE9.html
→
06/14 15:13,
7年前
, 1F
06/14 15:13, 1F
→
06/14 15:14,
7年前
, 2F
06/14 15:14, 2F
→
06/14 15:15,
7年前
, 3F
06/14 15:15, 3F
推
06/14 15:24,
7年前
, 4F
06/14 15:24, 4F
→
06/14 15:29,
7年前
, 5F
06/14 15:29, 5F
→
06/14 15:35,
7年前
, 6F
06/14 15:35, 6F
→
06/14 15:46,
7年前
, 7F
06/14 15:46, 7F
推
06/14 17:22,
7年前
, 8F
06/14 17:22, 8F
→
06/14 17:22,
7年前
, 9F
06/14 17:22, 9F
→
06/14 17:22,
7年前
, 10F
06/14 17:22, 10F
→
06/14 17:23,
7年前
, 11F
06/14 17:23, 11F
推
06/15 15:30,
7年前
, 12F
06/15 15:30, 12F
→
06/15 15:30,
7年前
, 13F
06/15 15:30, 13F
推
06/15 17:42,
7年前
, 14F
06/15 17:42, 14F
推
06/15 23:33,
7年前
, 15F
06/15 23:33, 15F
→
06/15 23:33,
7年前
, 16F
06/15 23:33, 16F
→
06/15 23:34,
7年前
, 17F
06/15 23:34, 17F
→
06/15 23:34,
7年前
, 18F
06/15 23:34, 18F
推
06/16 01:10,
7年前
, 19F
06/16 01:10, 19F
→
06/16 01:10,
7年前
, 20F
06/16 01:10, 20F
→
06/16 01:11,
7年前
, 21F
06/16 01:11, 21F
→
06/16 08:29,
7年前
, 22F
06/16 08:29, 22F
→
06/16 08:31,
7年前
, 23F
06/16 08:31, 23F
→
06/16 08:42,
7年前
, 24F
06/16 08:42, 24F
→
06/16 08:43,
7年前
, 25F
06/16 08:43, 25F
→
06/16 08:44,
7年前
, 26F
06/16 08:44, 26F
推
06/16 09:52,
7年前
, 27F
06/16 09:52, 27F
→
06/16 09:52,
7年前
, 28F
06/16 09:52, 28F
→
06/16 09:53,
7年前
, 29F
06/16 09:53, 29F
推
06/16 13:34,
7年前
, 30F
06/16 13:34, 30F
推
06/21 12:10,
7年前
, 31F
06/21 12:10, 31F
推
07/01 18:20,
7年前
, 32F
07/01 18:20, 32F