ผมมีคำถามกับ Linked List ครับ code :
https://www.picz.in.th/image/image-2.1XKokn
ผมไปดู code สั้นๆในเน็ตแล้วเขียนตามแล้วเกิดสงสัยครับ ว่า
ระหว่าง
Node *head;
Node *tail;
กับ
Node *newNode =new Node(value);
ต่างกันยังไงหรอครับ เท่าที่ผม เข้าใจ คือ ถ้ามีดอกจันคือ pointer ซึ่งมันเป็น integer เก็บ address แล้วใน method addToTail(); ทำไม address มันสามารถ tail->next=newNode; ได้ เพราะมันมีหน้าที่เก็บได้แค่ address ไม่ใช่หรอ ผมจึงลอง ลบ tail->next=newNode; ออก เพราะผมคิดว่า
tail = newNode ; คือการ reference ถึง newNode แล้วแต่มันก็ไม่ได้ (output ไม่เหมือนเดิม) ผมจึงสงสัยครับ ว่า Node* head มันคืออะไร แล้วต่างจาก Node *newNode =new Node(value); อย่างไร
อีกคำถามนึงครับ ผม งง ว่า ทำไมต้องสร้าง Node *Name ทำไมไม่สร้าง Node Name เพราะว่า ที่ผมเข้าใจถ้ามีดอกจันมันคือ address เช่น
int N=1; int *ptrN =&N; เวลา print (ptrN) มันจะได้เป็น address แล้วทำไมไม่สร้าง Node Name ไปเลยครับ ขอบคุณครับ
คำถามเกี่ยวกับ Linked list
ผมไปดู code สั้นๆในเน็ตแล้วเขียนตามแล้วเกิดสงสัยครับ ว่า
ระหว่าง
Node *head;
Node *tail;
กับ
Node *newNode =new Node(value);
ต่างกันยังไงหรอครับ เท่าที่ผม เข้าใจ คือ ถ้ามีดอกจันคือ pointer ซึ่งมันเป็น integer เก็บ address แล้วใน method addToTail(); ทำไม address มันสามารถ tail->next=newNode; ได้ เพราะมันมีหน้าที่เก็บได้แค่ address ไม่ใช่หรอ ผมจึงลอง ลบ tail->next=newNode; ออก เพราะผมคิดว่า
tail = newNode ; คือการ reference ถึง newNode แล้วแต่มันก็ไม่ได้ (output ไม่เหมือนเดิม) ผมจึงสงสัยครับ ว่า Node* head มันคืออะไร แล้วต่างจาก Node *newNode =new Node(value); อย่างไร
อีกคำถามนึงครับ ผม งง ว่า ทำไมต้องสร้าง Node *Name ทำไมไม่สร้าง Node Name เพราะว่า ที่ผมเข้าใจถ้ามีดอกจันมันคือ address เช่น
int N=1; int *ptrN =&N; เวลา print (ptrN) มันจะได้เป็น address แล้วทำไมไม่สร้าง Node Name ไปเลยครับ ขอบคุณครับ