อาร์เรย์ (Array)
Array คือ ตัวแปรที่เป็นลักษณะของการจองพื้นที่ในหน่วยความจำติดกัน ด้วยจำนวนคงที่ ซึ่งเก็บข้อมูลได้หลายๆ ตัวแต่จะเป็นชนิดของข้อมูล(Data Type) เดียวกัน
โครงสร้างข้อมูลแบ่งออกเป็น 2 ประเภทใหญ่ๆด้วยกัน คือ
⧭โครงสร้างข้อมูลแบบเชิงเส้น
⧭โครงสร้างข้อมูลแบบไม่ใช่เชิงเส้น
คุณสมบัติของอาร์เรย์
⥀ อาร์เรย์เป็นตัวแทนกลุ่มของข้อมูลที่มีความสัมพันธ์กัน
⥀ สมาชิกในอาร์เรย์จะมีคุณสมบัติหรือมีชนิดของข้อมูลที่เหมือนกันทั้งหมด
⥀ ขนาดของอาร์เรย์จะมีขนาดคงที่เมื่อได้ถูกสร้างขึ้น
⥀ อาร์เรย์เป็นโครงสร้างข้อมูลที่ผู้ใช้สามารถอ้างอิงเพื่อเข้าถึงข้อมูลที่ต้องการได้ทันที
⧪ Array Subscripts
ในการอ้างใช้ตัวแปร Array จะประกอบด้วยชื่อตัวแปร Array และหมายเลขตัวชี้
(Index or Subscript) อยู่ในเครื่องหมายก้ามปู [ ] ซึ่ง Subscript จะอยู่ในช่วงค่าในช่วง 0 ถึง n-1 โดยที่ n เป็นขนาดของ Array ที่ได้ระบุในการประกาศตัวแปร การอ้างถึงข้อมูลใน Array ช่องใด สามารถใส่เป็นเลขตรงๆ หรือเป็นตัวแปรก็ได้
การจำลองรูปแบบของอาร์เรย
ถ้าชื่อของอาร์เรย์คือ a แล้ว a[0] จะเป็นชื่อของสมาชิกตำแหน่งที่ 0 หรือเป็นสมาชิกตัวที่ 1
a[1] จะเป็นชื่อของสมาชิกตำแหน่งที่ 1 หรือเป็นสมาชิกตัวที่ 2
a[2] จะเป็นชื่อของสมาชิกตำแหน่งที่ 2 หรือเป็นสมาชิกตัวที่ 3
a[n] จะเป็นชื่อของสมาชิกตำแหน่งที่ n หรือเป็นสมาชิกตัวที่ n+1
ดรรชนีฐาน 0 (zero-based indexing) คือ การเริ่มตำแหน่งของสมาชิกที่ 0
⧪โครงสร้างข้อมูลแบบอารเรย์ (Array)
int a[5] = {16,12,6,8,14};
char c[5]= {'A','E','I','O','U'};
⧪ มิติของอาร์เรย์
อาร์เรย์มีลักษณะเป็นโครงสร้างเชิงเส้น (อนุกรม)สมาชิกของอาร์เรย์เป็นข้อมูลชนิดใดก็ได้ รวมทั้งเป็นอาร์เรย์ก็ได้ ( Array of arrays )อาร์เรย์หนึ่งมิติ int a[2] = { 1, 2 } ;
อาร์เรย์สองมิติ = อาร์เรย์หนี่งมิติที่มีสมาชิกเป็นอาร์เรย์หนึ่งมิติ int a[2][3] = {{1, 2, 3}, {4, 5, 6}} ;
อาร์เรย์สามมิติ = อาร์เรย์หนี่งมิติที่มีสมาชิกเป็นอาร์เรย์สองมิติ int a[2][3][4] = {{ {1,2,3,4}, {1,2,3,4},{1,2,3,4} }, { {1,2,3,4}, {1,2,3,4}, {1,2,3,4} }} ;
เลขดัชนีในอาร์เรย์ประกอบด้วยช่วงขอบเขตของค่า ซึ่งประกอบด้วยขอบเขตล่างสุดและขอบเขตบนสุด แต่ภาษาคอมพิวเตอร์เขตค่าดังกล่าวได้เพียงขอบเขตบนสุดเท่านั้นโดยขอบเขตล่างสุดจะถูกกำหนดคงที่เตรียมไว้อยู่แล้ว กำหนดเริ่มต้นไว้ที่ 0 หรือ 1 ขึ้นอยู่กับคอมไพเลอร์ของภาษานั่้นๆ
⧬ สูตรการคำนวณหาจำนวนสมาชิกของอาร์เรย์
โดยที่ U = ขอบเขตบนสุด , L = ขอบเขตล่างสุด
อาร์เรย์ 1 มิติ ใช้สูตร U – L + 1
อาร์เรย์ 2 มิติ ใช้สูตร ( U1 – L1 + 1) * ( U2 – L2 + 1)
⧬ การจัดเก็บอาร์เรย์ในหน่วยความจำ
อาร์เรย์จัดเก็บอยู่ในหน่วยความจำคอมพิวเตอร์จะมีลักษณะเป็นลำดับต่อเนื่องกันใช้เนื้อที่ในการจัดเก็บข้อมูลสมาชิกของแต่ละตัวในขนาดเท่าๆกันสมาชิกทุกตัวในต้องเป็นข้อมูลชนิดเดียวกัน รูปแบบทั่วไปของโครงสร้างข้อมูลอาร์เรย์
อาร์เรย์ 1 มิติ ใช้สูตร
➤ ArrayName [ L:U ] a[1:10] = a[10]
อาร์เรย์ 2 มิติ ใช้สูตร
➤ ArrayName [ L1:U1,L2:U2 ] a[4,5] = a[0:3,0:4]
อาร์เรย์ 3 มิติ ใช้สูตร
➤ ArrayName[ L1:U1,L2:U2 ,L3:U3 ] a[6,5,4] = a[0:5,0:4,0:3]
⧬ การคำนวณหาตำแหน่งแอดเดรสในหน่วยความจำอาร์เรย์ 1 มิติ
ใช้สูตร LOC(a[i]) = B + w(i – L) โดยที่
LOC(a[i]) คือ ตำแหน่งแอดเดรสที่เก็บ a[i] ในหน่วยความจำ
B คือ แอดเดรสเริ่มต้นของ a
w คือ ขนาดของข้อมูลในการจัดเก็บ
i คือ ตำแหน่งของสมาชิกในอาร์เรย์ L คือ ขอบเขตล่างสุด
ไม่มีความคิดเห็น:
แสดงความคิดเห็น