โครงสร้างของอะเรย์
จะเป็นโครงสร้างข้อมูลชนิดเชิงเส้นพื้นฐานที่สุด มีสมาชิกที่เป็นข้อมูลประเภทเดียวกัน มี จำนวนจำกัดแน่นอน ต้องเรียงลำดับกันไป การอ้างถึงจะอ้างถึงโดยการ ใช้ดรรชนีกำกับ (subscript)จำนวน ดรรชนี กำกับเรียกว่า มิติ(dimention) การกำหนดอะเรย์จะต้องมีการกำหนดชื่อของอะเรย์ 1 มิติ
มีดรรชนีกำกับเพียงตัวเดียว การกำหนดโครงสร้างของอะเรย์ จะหมายถึงการอ้างถึง ตำแหน่งของความจำ ที่มีตำแหน่งต่อเนื่องกัน โดยใช้ตัวแปรชุดเดียวกันนั่นเอง โดยทั่วๆไปดรรชนีกำกับของอะเรย์ จะมีการเริ่มต้นจาก 0 หรือ 1 ซึ่งจะแทนขอบเขตล่าง (lower bound ) ของอะเรย์ อะเรย์แต่ละช่องจะมีขนาดเท่า ๆกัน หมายถึงสมาชิกแต่ละตัวของอะเรย์ จะต้องมีการใช้เนื้อที่เท่ากัน ถ้าสมาชิกของอะเรย์มี สมาชิก เท่ากับ n ตัว ก็จะต้องใช้หน่วยความจำทั้งหมด n คำ อะเรย์ และขนาดของอะเรย์ ชนิดของอะเรย์สูตรแสดงการหาตำแหน่งที่ อยู่ของสมาชิกอะเรย์ สามารถคำนวนได้ดังนี้
loc(A[i] = l0 + c(i-1)
โดย l0 (l ศูนย์) คือ ตำแหน่งข้อมูลที่เก็บที่อยู่ของสมาชิกตัวแรก
c คือ เนื้อที่ในการจัดเก็บแต่ละตัว = 1 คำ
A[i] คือตำแหน่งที่อยู่ของสมาชิก ตัวที่ i ของ อะเรย์ A ใด ๆ
ในกรณีที่ ขอบเขตล่างของอะเรย์ ไม่ได้เริ่มต้นจาก 1 แต่เริ่มต้นที่ค่า b ก็จะใช้ การลบด้วยค่า b แทนการลบด้วย1 โดย การแทนเข้าสูตร ส่วนสมาชิกที่อยู่ในลำดับสุดท้ายของอะเรย์ คือ ขอบเขตบน (upper bound) ของอะเรย์ขนาดของอะเรย์สามารถคำนวณได้จากสูตร
ขนาดของอะเรย์ = ขนาดของขอบเขตบน - ขนาดของขอบเขตล่าง
การประยุกต์ใช้อะเรย์ 1 มิติ
อะเรย์ 1 มิติ มักจะใช้ในการเก็บข้อมูลชนิดมาก ๆ และข้อมูลที่มีลักษณะเดียวกัน เช่นใช้ในการเรียงลำดับข้อมูล โดยการเก็บข้อมูลไว้ในอะเรย์
อะเรย์ 2 มิติ
อะเรย์ 2 มิติ มีดรรชนีในการกำกับ 2 ตัว โดยการจินตนาการว่า อะเรย์ 2 มิติ ประกอบด้วย แถว และคอลัมภ์ การหาจำนวนสมาชิก จะหาได้โดย นำจำนวนแถว คูณ กับจำนวนหลักการแทนอะเรย์ 2 มิติในหน่วยความจำ จะแทนด้วยอะเรย์ 1 มิติที่สมนัยกัน ตำแหน่ง
loc(A[ij] = L0 +(j-1) * n+(i -1 )
ในการเก็บข้อมูลของอะเรย์ ในหลาย ๆ ภาษา สามารถเก็บได้ ทั้ง แบบ คอลัมภ์เป็นหลัก (column - major order ) และแบบ แถวเป็นหลัก (row - major order) ในการคำนวณ จากสูตร n อาจแทนด้วย m หรือ r ก็ตามแต่ว่าเราจะเก็บ แบบแถวหรือ คอลัมภ์เป็นหลัก
การประยุกต์ใช้อะเรย์ 2 มิติ
การประยุกต์ใช้งาน มักจะใช้กับงานที่มีลักษณะ งานที่มี ลักษณะเป็นแถวและคอลัมภ์ หรือตาราง 2 มิติ เช่น เมตริกซ์ อะเรย์ 3 มิติ และอะเรย์ 3 มิติขึ้นไปอะเรย์ 3 มิติ จะมีดรรชนีกำกับ 3 ตัว การจินตนาการ จะจินตนาการว่า เป็นอะเรย์ 2 มิติ ที่มีหลายระนาบการเก็บ อะเรย์ 3 มิติ ในหน่วยความจำ เราจะแทนอะเรย์ 3 มิติ ด้วยอะเรย์ 1 มิติ ที่สมนัยกันสูตรในการค้นหา ตำแหน่งของอะเรย์ ซึ่งสมมติให้เป็นอะเรย์ B[i,j,k] ใด ๆของอะเรย์ หาได้จากสูตร
Loc(B[i,j,k] ) = (i - 1) * 12+(j-1)*4+k-1
![]()
![]()
ของอะเรย์ สามารถคำนวณ ได้ดังนี้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น