Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore อาร์เรย์ 3 มิติ (Three Dimension Array)

อาร์เรย์ 3 มิติ (Three Dimension Array)

Published by JJOBXYS KCK, 2019-06-30 02:01:58

Description: จัดทำโดย
- นายกฤชกร แซ่หลี เทคโนโลยีสารสนเทศ

Search

Read the Text Version

จดั ทำโดย นำยกฤชกร แซ่หลี เลขท่ี 1 นำยชนเทพ ปำนรอด เลขที่ 4 นำยบรุ นิ ทร์ ศรสี ะถำ เลขท่ี 14 นำงสำวปรญี ำนชุ ลอยสุวรรณ์ เลขที่ 15 นำงสำววรรณำ กลุ ประทีปทอง เลขที่ 21 นำยสันติ แสงคำ เลขท่ี 24 นำยอัษฎาำ นยั ยะ เลขที่ 25 ประกำศนยี บัตรวชิ ำชพี ช้ันสูง ชนั้ ปีท่ี 1 สำขำ เทคโนโลยสี ำรสนเทศ

1 นยิ ำม / ควำมหมำย อำร์เรย์ เป็นโครงสร้างข้อมูลท่ีใช้เกบ็ ข้อมูลชนดิ เดียวกัน เป็นกลุ่ม หรือชุดทเ่ี รยี งตดิ ต่อกันเป็นแถว มขี อบเขตจากดั และมีขนาดคงที่ ข้อมูลชนิดเดียวกัน คือ ข้อมูลทุกตัวท่ีอยู่ในอาร์เรย์จะต้องเป็น ข้อมูลชนิดเดียวกนั เท่าน้นั เช่น ถ้าเป็นอารเ์ รย์ชนิดจานวนเต็ม ข้อมูลทกุ ตัวในอาร์เรย์ก็ต้องเป็นชนิดจานวนเต็ม ไม่สามารถเก็บข้อมูลต่างชนิด กันได้

2 โครงสร้ำงข้อมูลแบบอำร์เรย์ อำร์เรย์ ( Array ) หรือแถวลาดบั คือการรวมกลุ่มของตัวแปรที่ สามารถใช้ตัวแปรชื่อเดียวแทนข้อมูลสมาชิกได้หลายๆตัว ใช้เลขดรรชนี ( index ) หรือ ( Subscript ) เป็นตัวอ้างอิงตาแหน่งสมาชิกบนแถว ลาดับ Array โครงสร้างข้อมูลแบง่ ออกเป็น 2 ประเภท คอื 1. โครงสรำ้ งขอ้ มูลแบบเชิงเส้น ( Linear Lists ) เช่น อาร์เรย์ ( Array ), สแต็ก ( Stack ) และ คิว ( Queues ) 2. โครงสรำ้ งขอ้ มลู แบบไมเ่ ป็นเชิงเสน้ ( Non-Linear Lists ) เชน่ ทรี ( Trees ) และกราฟ ( Graphs )

3 คุณสมบัติสำคัญของอำร์เรย์ 1. อาร์เรย์เปน็ ตวั แทนของกลมุ่ ทม่ี ีความสมั พนั ธก์ นั 2. มีชนิดขอ้ มูลเหมอื นกันทง้ั หมด 3. อาร์เรย์มขี นาดคงที่ 4. ผูใ้ ช้สามารถอ้างองิ เพ่ือเข้าถึงขอ้ มูลทต่ี ้องการไดท้ นั ที กำรจัดเกบ็ ด้วยกำรเรยี งแถวเปน็ หลัก กำรจดั เกบ็ ด้วยกำรเรียงแถวเปน็ หลัก ใช้สตู ร LOC(s[i,j,k]) = B + [ w * R * C( i - L1) + [w * C( j – L2 )] + [w(k-L3)] ตวั อยำ่ ง ตอ้ งกำรทรำบตำแหน่งทเี่ กบ็ ข้อมูลอำร์เรย์ S ชนั้ ที่ 0 แถวที่ 3 คอลมั น์ 4 กำหนดให้ B = 500, w =4 (ภำษฎำ C S[3][4][5] ) LOC(s[i,j,k]) = B + [ w * R * C( i - L1) LOC(s[0,3,4]) + [w * C( j – L2 )] + [w(k-L3)] = 500 + [ 4 * 4 * 5( 0 - 0) + [4 * 5( 3– 0 )] + [4(4-0)] = 500 + 0 + 60 + 16 = 576

4 กำรจดั เกบ็ ดว้ ยกำรเรยี งคอลมั น์เป็นหลัก กำรจดั เกบ็ ด้วยกำรเรียงคอลัมน์เปน็ หลัก ใช้สตู ร LOC( S[i,j,k]) = B + [w * K * R * C(j – L2) ] + [ w * K * R(i – L1 )] + [k – L3] อำร์เรย์ในหน่วยควำมจำ เช่นเดียวกับโครงสร้างข้อมูลอ่ืน ๆ ที่ต้องมีแนวทางในการเก็บลงใน หน่วยความจา ซงึ่ อาร์เรย์มีไดห้ ลายแนวทาง แบบแผนที่ต้องนามาพิจารณา ประกอบด้วย 4 ลกั ษณะพื้นฐาน คอื 1. การเข้าถงึ เรยี กใช้สมาชกิ ตอ้ งมคี วามเรยี บงา่ ย 2. ง่ายต่อการเขา้ ไปหาแต่ละสมาชกิ ทม่ี หี ลายเสน้ ทาง 3. ประสิทธิภาพของการจัดเก็บทีง่ ่ายต่อการเขา้ ถงึ แต่ละสมาชิก 4. งา่ ยตอ่ การเพิ่มขนาดอาร์เรย์ใหม้ ากข้ึน เนื่องจากหน่วยความจาของเคร่ืองคอมพิวเตอร์มีลักษณะเป็นเชิงเส้น ดังนั้น อาร์เรย์หลายมิติ ต้ังแต่สองมิติข้ึนไป เม่ือนาไปจัดเก็บลงในหน่วย ความ จาจะต้องมลี กั ษณะแบบเชงิ เส้นเช่นกัน

5 อำร์เรย์หลำยมติ ิ (Multi-Dimension Array) สมมตปิ ระกาศให้ k เป็นตวั แปรอาร์เรย์ 2 มิติ ขนาด 3x2 (หมายถงึ 3 แถวและ 2 คอลมั น)์ เก็บข้อมูลประเภทจานวนเต็ม ดังน้ัน จะได้ int k[3][2]; น่ันคือ k [0] [1] [0] [1] [2] ซึง่ ตวั แปร k ท่จี ัดเก็บอยู่ในหนว่ ยความจาหลกั จรงิ ๆนน้ั จะเรียงติดต่อ กันไปเป็นแถวยาว (ไม่ไดจ้ ัดเก็บอยู่ในรูปแบบตารางจรงิ ๆ) ดังนี้ k[0][0] k[0][1] k[1][0] k[1][1] k[2][0] k[2][1] แถวที่ 0 แถวท่ี 1 แถวท่ี 2 ดงั น้ัน เราสามารถสรา้ งอาร์เรย์ซ่งึ มีหลายมิติได้ ไม่ว่าจะเป็นอาร์เรย์ 3 มิติ อาร์เรย์ 4 มิติหรือ 5 มิติ แต่ทง้ั น้ี การที่เราประกาศอาร์เรย์ที่มีจานวน มิติมากๆ ก็จะเป็นผลให้โปรแกรมมีความซับซ้อนมากย่ิงข้ึน ส่งผลให้การ แก้ไขตา่ งๆ เป็นไปไดอ้ ยา่ งลาบาก

6 ตัวอยำ่ ง การประกาศอาร์เรย์ 3 มิติ int G[4][2][3];  ประกาศอาร์เรย์ G เก็บจานวนเตม็ มี 4 แถว แถวละ 2 คอลัมน์ และ 3 ชน้ั (1 ช้นั จะมี 4 แถว) แถว แถว แถว แถว แถว แถว แถว แถว แถว แถว แถว แถว 012301230123 ช้นั 0 ช้ัน 1 ชัน้ 2 กำรอำ้ งถึงขอ้ มลู ยอ่ ยแต่ละตวั การอา้ งถึงขอ้ มลู ยอ่ ยแตล่ ะตัวจะคล้ายกับอาร์เรย์ 1 มิติและ 2 มิติ น่ันคือ ใช้ดัชนใี นการอ้างถงึ โดยในท่นี จ้ี ะมที ั้งส้นิ 3 ตวั คือ แถว คอลมั น์ และช้ัน เชน่ G[0][1][2] = 50; หมายถงึ ให้เกบ็ 50 ไว้ในอาร์เรย์ G ตาแหนง่ แถว ที่ 0 คอลัมน์ท่ี 1 และชัน้ ท่ี 2

บรรณำนกุ รม - https://djremixja92.wordpress.com/บทเรียน/บทท2่ี - https://kibzaaa.blogspot.com/2011/06/3-array.html - http://marcuscode.com/lang/php/arrays - http://marcuscode.com/lang/visual-basic/arrays




Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook