[0]zero-index clytie0x/zero-index

บทที่ 14 linked list stack queue

จบบทนี้ น้องจะสร้างโครงสร้างข้อมูลพื้นฐานสามแบบได้เองด้วยภาษา C คือ linked list ที่แทรกและลบตรงกลางได้โดยไม่ต้องเลื่อนข้อมูล stack ที่ของเข้าทีหลังออกก่อน และ queue ที่มาก่อนได้ก่อน แล้วเอาไปแก้โจทย์ที่ใช้อาเรย์ธรรมดาแล้วช้าหรือยุ่งเกินไป เช่น ตรวจวงเล็บในสูตร คำนวณนิพจน์ จำลองคิวร้านค้า และโปรแกรมพิมพ์ข้อความที่มีเคอร์เซอร์ ทั้งหมดนี้อยู่ในหลักสูตรค่าย 1 ของ สอวน. ในบทที่ 17 จะมีของสำเร็จรูปใน C++ ให้ใช้แทน แต่คนที่เคยเขียนเองจะรู้ว่าแต่ละงานเร็วหรือช้าเพราะอะไร และเขียนแบบที่ของสำเร็จรูปไม่มีให้ได้

ในบทนี้

หน้าได้อะไร
14.1 linked listnode กับ next สร้างลิสต์ด้วย malloc เพิ่มที่หัวและท้าย เดินลิสต์ ค้นหา และ free ทั้งลิสต์
14.2 แทรก ลบ และกลับลำดับเปลี่ยน next ให้ถูกลำดับ ลบตัวหัวที่เป็นกรณีพิเศษ และกลับลิสต์ด้วยสาม pointer
14.3 ลิสต์ด้วยอาเรย์เลือกระหว่างอาเรย์กับ linked list ทำลิสต์ด้วย next[] แบบที่คนแข่งใช้ และลิสต์สองทางที่ไม่มีกรณีพิเศษ
14.4 stackstack ด้วยอาเรย์ กลับคำ ตรวจวงเล็บหลายชนิด คำนวณ postfix และ pop ตอนว่าง
14.5 queue และ dequequeue ด้วยอาเรย์ circular queue จำลองร้านที่เก้าอี้จำกัด deque และบั๊กที่เจอบ่อย

ผ่านบทนี้เมื่อ