โครงสร้างอาร์เรย์ เป็นแบบหนึ่งของโครงสร้างที่เรียกว่า linear list ลักษณะของอาร์เรย์ คือตารางที่เป็นช่อง ๆ แต่ละช่องต้องเก็บข้อมูลแบบเดียวกัน เป็นตัวอักษรล้วนหรือเป็นตัวเลขล้วน ขนาดของแต่ละช่องต้องเท่ากันหมด อาร์เรย์เป็นโครงสร้างที่เกือบกล่าวได้ว่าเป็นที่คุ้นเคยมากที่สุดและเข้าใจง่ายที่สุด ทั้งนี้เนื่องจากโครงสร้างของอาร์เรย์ตรงกับความเป็นจริงตามธรรมชาติของข่าวสารข้อมูลหลายประการ เช่น บัญชีการเงิน คะแนนนักเรียนในชั้น บัญชีพนักงานของบริษัท ข้อมูลที่แบ่งเป็นพวกหรือหมวดหมู่ ฯลฯ นอกจากนี้โปรแกรมที่เขียนคำนวณงานเมตริกซ์ (matrix) หรือพีชคณิตเชิงเส้น ก็ต้องใช้อาร์เรย์เป็นที่เก็บตัวเลข นอกจากนี้อาร์เรย์ยังเป็นโครงสร้างพื้นฐานของโรงสร้างที่สำคัญอื่น ๆ อีก เช่น สแตก,คิว,ต้นไม้ เป็นต้น ลักษณะของอาร์เรย์ การสร้างอาร์เรย์ขึ้นใช้นั้น เราต้องคำนึงถึงสิ่งต่อไปนี้ - ชื่อของอาร์เรย์ - ขนาดของอาร์เรย์แต่ละช่อง และมิติของอาร์เรย์ - ค่าสูงสุด (upper bound)และค่าต่ำสุด (lower bound)ในแต่ละมิติ สำหรับอาร์เรย์ 1 มิตินั้น จะมีลักษณะทั่วไปดังนี้ โครงสร้างของการแทนสแตกด้วยอาร์เรย์ การแทนสแตกด้วยโครงสร้างอาร์เรย์นั้น เนื่องจากอาร์เรย์เป็นโครงสร้างที่ต้องมีการกำหนดจองพื้นที่แน่นอน (static) จึงจำเป็นต้องมีการกำหนดขนาดพื้นที่จัดเก็บข้อมูลสูงสุดให้เหมาะสมเมื่อมีการ นำเอาข้อมูลเข้ามาก็จะนำเข้ามาจัดไว้ในอาร์เรย์แรกสุดจากนั้นจึงเรียงลำดับกัน ไปตามพื้นที่ที่กำหนด การสร้างสแตกด้วยอะเรย์ ในการสร้างสแตกด้วยอะเรย์ หมายถึงเราเลือกการแทนที่ข้อมูลของสแตกด้วยอะเรย์ซึ่งเป็นการจัดสรรเนื้อที่หน่วยความจำแบบสแตติก นั้นคือ จะมีการกำหนดขนาดของสแตกล่วงหน้าว่าจะมีขนาดเท่าใดและจะมีการจัดสรรเนื้อที่หน่วยความจำให้เลย การสร้างสแตกนี้จะสร้างในยูนิตชื่อ StackUA ดังนี้ UNIT StackUA; INTERFACE CONST Maxsize = 100 {User supplied}; TYPE KeyType = 1..100 {ID}; DataType = RECORD Name : string[20]; Math, Stat, Comp : integer; END; StdElement = RECORD Key : KeyType; {User supplied} Data : DataType; {User supplied} END; VAR S : ARRAY[1..Maxsize] OF StdElement; Top : 0..Maxsize; PROCEDURE Create; PROCEDURE Push(E : StdElement); PROCEDURE Pop(VAR E : StdElement); FUNCTION Empty : boolean; FUNCTION Full : boolean; PROCEDURE Clear; IMPLEMENTATION PROCEDURE Create; BEGIN Top := 0; END; PROCEDURE Push(E : StdElement); BEGIN Top := Top + 1; S[Top] := E; END; PROCEDURE Pop(VAR E : StdElement); BEGIN END; FUNCTION Empty : boolean; BEGIN IF Top = 0 THEN Empty := true ELSE Empty := false; END; FUNCTION Full : boolean; BEGIN IF Top = Maxsize THEN Full := true ELSE Full := false END; PROCEDURE Clear; BEGIN Top := 0 END; END. การสร้าง Stack ด้วย Arrays โครงสร้างข้อมูลชนิด Arrays สามารถนำไปประยุกต์ใช้สร้างเป็น Stack ได้ แต่มีข้อแตกต่างกันคือ ข้อมูลแต่ละตัวที่ถูกเก็บใน Array สามารถเข้าถึง (access) ได้โดยตรง แต่ในหลักการของ Stack สมาชิกตัวบนสุดเท่านั้นที่จะสามารถ access ได้ในแต่ละครั้ง ดังนั้นจึงต้องมีตัวแปรสำหรับบ่งชี้สมาชิกตัวบนสุดใน Stack โครงสร้างอาร์เรย์ เป็นแบบหนึ่งของโครงสร้างที่เรียกว่า linear list ลักษณะของอาร์เรย์ คือตารางที่เป็นช่อง ๆ แต่ละช่องต้องเก็บข้อมูลแบบเดียวกัน เป็นตัวอักษรล้วนหรือเป็นตัวเลขล้วน ขนาดของแต่ละช่องต้องเท่ากันหมด อาร์เรย์เป็นโครงสร้างที่เกือบกล่าวได้ว่าเป็นที่คุ้นเคยมากที่สุดและเข้าใจง่ายที่สุด ทั้งนี้เนื่องจากโครงสร้างของอาร์เรย์ตรงกับความเป็นจริงตามธรรมชาติของข่าวสารข้อมูลหลายประการ เช่น บัญชีการเงิน คะแนนนักเรียนในชั้น บัญชีพนักงานของบริษัท ข้อมูลที่แบ่งเป็นพวกหรือหมวดหมู่ ฯลฯ นอกจากนี้โปรแกรมที่เขียนคำนวณงานเมตริกซ์ (matrix) หรือพีชคณิตเชิงเส้น ก็ต้องใช้อาร์เรย์เป็นที่เก็บตัวเลข นอกจากนี้อาร์เรย์ยังเป็นโครงสร้างพื้นฐานของโรงสร้างที่สำคัญอื่น ๆ อีก เช่น สแตก,คิว,ต้นไม้ เป็นต้น ลักษณะของอาร์เรย์ การสร้างอาร์เรย์ขึ้นใช้นั้น เราต้องคำนึงถึงสิ่งต่อไปนี้ - ชื่อของอาร์เรย์ - ขนาดของอาร์เรย์แต่ละช่อง และมิติของอาร์เรย์ - ค่าสูงสุด (upper bound)และค่าต่ำสุด (lower bound)ในแต่ละมิติ สำหรับอาร์เรย์ 1 มิตินั้น จะมีลักษณะทั่วไปดังนี้ โครงสร้างของการแทนสแตกด้วยอาร์เรย์ การแทนสแตกด้วยโครงสร้างอาร์เรย์นั้น เนื่องจากอาร์เรย์เป็นโครงสร้างที่ต้องมีการกำหนดจองพื้นที่แน่นอน (static) จึงจำเป็นต้องมีการกำหนดขนาดพื้นที่จัดเก็บข้อมูลสูงสุดให้เหมาะสมเมื่อมีการ นำเอาข้อมูลเข้ามาก็จะนำเข้ามาจัดไว้ในอาร์เรย์แรกสุดจากนั้นจึงเรียงลำดับกัน ไปตามพื้นที่ที่กำหนด
เรื่องนี้เหมือนเราเคยเรียนมาเหมือนกานค่ะ
ขอบใจมากสำหรับข้อมูล