วันพฤหัสบดีที่ 16 กรกฎาคม พ.ศ. 2552

DTS04-15/07/2552

สรุปบทเรียน Set and String , Linked List

อะเรย์ของสตริง

ถ้าหากมีสตริงจำนวนมาก ก็ควรจะทำให้เป็นอะเรย์ของสตริง เพื่อที่จะเขียนโปรแกรมได้สะดวกการสร้างอะเรย์ของสตริง สามารถสร้างได้ทั้งแบบที่ให้ค่าเริ่มต้นและแบบที่กำหนดเป็นตัวแปรโดยดำเนินการตามแบบการกำหนดอะเรย์ 2 มิติ ฟังก์ชัน puts () ใช้ในการพิมพ์สตริงออกทางจอภาพ โดยการผ่านค่าแอดเดรสของสตริงไปให้เท่านั้น ข้อสังเกต การกำหนดอะเรย์ของสตริงในลักษณะอย่างนี้ ไม่ใช่อะเรย์ที่แท้จริงตามหลักการของอะเรย์ เนื่องจากขนาดของช่องในอะเรย์ไม่เท่ากัน แต่อนุโลมให้ถือว่าเป็นอะเรย์

อะเรย์ของสตริงที่ยาวเท่ากัน
อะเรย์ในลักษณะนี้จะถือว่าเป็นอะเรย์ที่แท้จริงและสามารถกำหนดได้ทั้งเมื่อมีการให้ค่าเริ่มต้น และเมื่อกำหนดเป็นตัวแปร โดยดำเนินการตามแบบการกำหนดอะเรย์ 2 มิติการกำหนดตัวแปรในลักษณะนี้ จะแตกต่างจากการกำหนดตัวแปรแบบความยาวไม่เท่ากัน คือ ในแบบความยาวไม่เท่ากัน ท้ายของสตริงจะเติม null character ให้เพียงตัวเดียว แต่ในแบบความยาวเท่ากัน จะเติม null character ให้จนครบทุกช่อง

ลิงค์ลิสต์ Linked Lists
โครงสร้างข้อมูลแบบลิงค์ลิสต์ เป็นโครงสร้างข้อมูลแบบไดนามิก โดยที่ขนาด ของมันสามารถเปลี่ยนแปลงได้ โดยสมาชิกแต่ละตัวของลิงค์ลิสต์จะถูกเรียกว่าโหนด (Node) ประกอบด้วย 2 ส่วนคือ ส่วนของข้อมูล (Data) และส่วนที่เป็นตำแหน่งที่อยู่ของ โหนดตัวต่อไปในลิงค์ลิสต์ (Next Address) หรืออาจเรียกว่า พอยเตอร์ (Pointer) ซึ่งทำให้ เราสามารถกำหนดตำแหน่งของโหนดตัวต่อไปได้ กล่าวคือ โหนดตัวแรกจะมี พอยเตอร์ ชี้ไปยังโหนดตัวที่สอง โหนดตัวที่สอง มีพอยเตอร์ชี้ไปยังโหนดตัวที่สาม เป็นเช่นนี้ไปเรื่อยๆ


โครงสร้างลิงค์ลิสต์ (Linked List Structure)
โครงสร้างข้อมูลลิงค์ลิสต์ประกอบไปด้วยข้อมูลที่เชื่อมโยงกันด้วยพอยเตอร์ สมาชิกแต่ละตัวในลิงค์ลิสต์เรียกว่า โหนด (Node) แต่ละโหนดจะประกอบขึ้นจากข้อมูล 2 ส่วนคือ
1. ส่วนที่ใช้เก็บข้อมูลข่าวสาร (information field)
2. ส่วนที่เป็นพอยเตอร์ซึ่งใช้สำหรับชี้ตำแหน่งที่อยู่ของสมาชิกตัวถัดไป



โครงสร้างของโหนด (Node Structure)
เราสามารถนิยามโครงสร้างของโหนดด้วยแบบข้อมูลโครงสร้างซึ่งประกอบด้วยฟิลด์ข้อมูลและฟิลด์พอยเตอร์ดังเช่น
struct Node { char Info;
struct Node *Next;
};
โครงสร้าง Node ประกอบด้วยฟิลด์ Info ซึ่งมีแบบข้อมูล char และฟิลด์ Next ซึ่งเป็นพอยเตอร์ชี้ไปที่ Node จะพบได้ว่าการนิยามโครงสร้าง Node อยู่ในรูปของรีเคอร์สีฟ โดยที่ฟิลด์ Next เป็นพอยเตอร์ที่ชี้ไปยังโครงสร้างของตัวเอง








ไม่มีความคิดเห็น:

แสดงความคิดเห็น