บทที่ 3 โครงสร้างข้อมูลอาร์เรย์ (Array)

บทที่ 3 โครงสร้างข้อมูลอาร์เรย์

  •           อาร์เรย์หนึ่งมิติ (One-dimension Array) อาร์เรย์หนึ่งมิติมีลักษณะเป็นตารางที่มีเพียงแถวเดียว บางครั้งก็เรียกว่าเว็กเตอร์ มีการจัดเก็บข้อมูลในลักษณะต่อเนื่องกันเป็นแถว ซึ่งจะนำเสนอในมุมมองแบบแนวตั้งและแนวนอนก็ได้สัญลักษณ์ที่ใช้คือ  array_name[size]                 

                               การคำนวณหาจำนวนสมาชิกของอาร์เรย์หนึ่งมิติ                     

                                         จำนวนสมาชิก = U-L+1                     โดยกำหนด                              

                                         L  คือ ขอบเขตล่างสุด (Lower Bound) และ U คือ ขอบเขตบนสุด (Upper Bound)                                                                  ตัวอย่าง เช่น  num[1:5]  มีสมาชิก เท่ากับ 5-1+1 = 5 ตัว                 

                              การคำนวณหาตำแหน่ง(Address)ในหน่วยความจำของอาร์เรย์หนึ่งมิติ                     

                                       หาได้จากสูตร Loc(A[i]) = B + w * (i – L)   โดยที่     

                                       i : ตำแน่งที่ต้องการ   และ  B : ตำแหน่งเริ่มต้นในหน่วยความจำ
                                       L : ตำแหน่งเริ่มต้น และ w : ขนาดความกว้างของชนิดข้อมูล

                                        ตัวอย่าง เช่นกำหนดอาร์เรย์ Data[1:5] เก็บข้อมูลชนิดตัวอักษร

                                        ซึ่งใช้เนื้อที่ในการเก็บข้อมูล 2 bytes ต่อชุด โดยมีตำแหน่งเริ่มต้นในหน่วยความจำอยู่ที่ 1000

                                        จงหาตำแหน่งที่ใช้เก็บข้อมูลของ Data[2] แทนค่าดังนี้

                                        i = 2, B = 1000, L = 1, w = 2
                                        จะได้ Loc(Data[2]) = 1000 + 2 * (2 – 1)
                                           = 1000 + 2 * 1
                                           = 1000 + 2
                                           = 1002

  •           อารเรยสองมิติ (Two Dimension Array) อารเรยสองมิติ คือ โครงสรางขอมูลที่มีการจัดเก็บขอมูลแบบตารางสองทาง ขอมูลมีการจัดเรียงกันตามแนวแถว (Row) และ แนวหลัก (Column) การอางถึงขอมูลตองระบุตําแหนงแถวและตําแหนงหลักที่ขอมูลนั้นอยู การคำนวณหาจำนวนสมาชิกของอาร์เรย์สองมิติ จำนวนสมาชิก = (U1 – L1 + 1) * (U2 – L2 + 1) โดย  U1 = ขอบเขตบนสุด ของแถว, L1 = ขอบเขตล่างสุด ของแถว, U2 = ขอบเขตบนสุด ของคอลัมน์, L2 = ขอบเขตล่างสุด ของคอลัมน์ เช่น  A[1:2,1:3]  มีจำนวนสมาชิก  = (2-1+1)*(3-1+1) = 2*3 = 6 และ สูตรการคำนวณหาตำแหน่งที่ใช้เก็บข้อมูลในอาร์เรย์สองมิติแบบการเรียงแถวเป็นหลัก คือ LOC( K[i,j] ) = B+w[C(i-L1) + (j-L2)]
  •           อารเรยสามมิติ (Three Dimension Array) อารเรยสามมิติคือการนําเอาอารเรยสองมิติมาเรียงซอนกันหลายๆชั้น (page) ดังนั้นจึงทําใหอารเรยสามมิติ จะมีลักษณะเปนแถวและคอลัมนแลวก็จะมีความลึกเพิ่มขึ้นมา การหาจำนวนสมาชิกของอาร์เรย์ 3 มิติ จำนวนสมาชิก = (U1-L1+1) * (U2-L2+1) *(U3-L3+1) เช่น จำนวนสมาชิกของอาร์เรย์ A(2,3,4) หรือ A(0:1,0:2,0:3) จะได้จำนวนสมาชิก = (1-0+1)*(2-0+1)*(3-0+1) =  2*3*4 =  24


เอกสารประกอบการสอนคลิกเปิด  1.รูปแบบรายงาน  ,  2.รูปแบบนำเสนองาน