6/7/52

DTS03-23-06-2552

#Array and Record#

-อะเรย์ เป็นโครงสร้างข้อมูลที่พบมากในการเขียนโปรแกรมภาษาคอมพิวเตอร์ทุกภาษา
-อะเรย์ เป็นพื้นฐานในการทำความเข้าใจกับโครงสร้างข้อมูลตัวอื่น ๆ
-อะเรย์ เป็นโครงสร้างข้อมูลที่มีลักษณะคล้ายเซ็ตในคณิตศาสตร์ ประกอบด้วยสมาชิก มีจำนวนคงที่ มีรูปแบบข้อมูลเป็นแบบเดียวกัน สมาชิกแต่ละตัวใช้เนื้อที่จัดเก็บที่มีขนาดเท่ากัน เรียงต่อเนื่องในหน่วยความจำหลัก
-อะเรย์ ถือเป็นโครงสร้างข้อมูลแบบ Static data structure
-อะเรย์จะมีขนาดคงที่ เป็นแถวลำดับแบบอันดับ (Ordered list ) ประกอบด้วยชุดของตัวแปร มีลักษณะเป็นช่องหลาย ๆ ช่องที่มีชื่อเดียวกัน ใช้เก็บข้อมูลชนิดเดียวกัน ข้อมูลในช่องแต่ละช่อง เรียกว่า สมาชิกของอะเรย์
-อะเรย์ คุณสมบัติหลัก ๆ คือ มีขนาดคงที่ ข้อมูลแสดงผลออกมาแบบเรียงลำดับ (inorder)
-สามารถดึงสมาชิกออกมาได้
-สามารถแทนที่สมาชิกได้
-สามารถเพิ่มสมาชิกใหม่เข้าไปในแถวลำดับได้
-สามารถลบสมาชิกที่มีอยู่ออกจากแถวลำดับได้
-อะเรย์ มีการจองพื้นที่หน่วยความจำเป็นชุด ๆ ประกอบด้วยจำนวนช่องข้อมูลหลายช่อง พื้นที่แต่ละช่องข้อมูลอยู่ในตำแหน่งที่ต่อเนื่องกันไป
-การเข้าถึงข้อมูลใด ๆ ทำโดยระบุหมายเลขกำกับช่องข้อมูล เรียกว่า ตัวดัชนี หรือ ตัวชี้ หรือ ซับสคริปต์
-การกำหนดอะเรย์ ต้องกำหนดชื่ออะเรย์ พร้อม subscript ซึ่งเป็น ตัวกำหนดขอบเขต มีมากกว่า 1 ตัว จำนวน subscript เป็นตัวบอกมิติของอะเรย์
-อะเรย์ที่มี subscript มากกว่า 1 ตัวขึ้นไป เรียกว่า อะเรย์หลายมิติ
-การกำหนด subscript ประกอบไปด้วย ค่าสูงสุด และ ค่าต่ำสุดของ subscript
-ค่าต่ำสุดต้องมีค่าน้อยกว่า หรือเท่ากับค่าสูงสุดเสมอ
-ค่าต่ำสุด เรียกว่า ขอบเขตล่าง
-ค่าสูงสุด เรียกว่า ขอบเขตบน
-ค่า subscript ที่ใช้อ้างอิงถึงสมาชิก ต้องมีค่ามากกว่า หรือเท่ากับขอบเขตล่าง และน้อยกว่าหรือเท่ากับขอบเขตบน
-ขนาดของ index แต่ละตัว ของ Array หาได้จาก ขนาดของ subscript = upper bound – lower bound + 1
-อะเรย์ใช้ index บ่งชี้ตำแหน่ง การดึงข้อมูล และการจัดเก็บข้อมูลลงในอะเรย์ สิ่งที่ต้องคำนึง คือ ค่าต่ำสุด ในแต่ละมิติ แทนด้วย Lค่าสูงสุด ในแต่ละมิติ แทนด้วย U
-จำนวนหรือขนาดของอะเรย์ Range = ( U -L ) + 1
-จำนวนสมาชิก หรือ ขนาดของอะเรย์ n มิติ หาได้จาก ขนาดของอะเรย์ = ผลคูณของขนาดของ subscript แต่ละตัว

#การจัดเก็บอะเรย์ในหน่วยความจำหลัก#

ใช้เนื้อที่ขนาดเท่ากัน เพื่อเก็บสมาชิกแต่ละตัว โดยเนื้อที่จะเรียงต่อเนื่องกัน พิจารณาตามประเภทในมิติต่าง ๆ ดังนี้
1]โครงสร้างข้อมูลอะเรย์หนึ่งมิติ คือ มีการจัดเก็บข้อมูลต่อเนื่องกันไปเป็นแถวต่อเนื่องกันตลอด เหมือนกับตารางแถวเดียว มีดัชนีอ้างเพียง 1 ตัว
-data-type array-name[expression]
-data-type คือ ประเภทของข้อมูลอะเรย์
-array-name คือ ชื่อของอะเรย์
-expression คือ จำนวนเต็ม ระบุจำนวนสมาชิกของอะเรย์
-ถ้าเป็นอะเรย์มิติเดียว สามารถทำได้ทั้งหมด 3 วิธี


[1] มีการประกาศขนาดของอะเรย์ที่ทำหน้าที่ในการรับค่า
[2]ไม่ต้องมีการประกาศขนาดของอะเรย์ที่ทำหน้าที่ในการรับค่า
[3]ตัวแปรที่ทำหน้าที่รับค่าถูกกำหนดเป็นพอยน์เตอร์


-การส่งผ่านอะเรย์ให้ฟังก์ชัน เป็นการส่งผ่านโดยการอ้างอิง เรียกว่า Pass by reference ค่าของสมาชิกแต่ละตัวจะไม่ได้ถูกส่งไปให้ฟังก์ชัน แต่ชื่อของอะเรย์จะถูกมองเป็นตำแหน่งในหน่วยความจำที่ใช้เก็บสมาชิกตัวแรกซึ่ง address นี้จะถูกส่งให้กับอาร์กิวเมนต์ที่ตรงกัน
-อาร์กิวเมนต์เป็น pointer ชี้ไปยังสมาชิกตัวแรกของอะเรย์
-Pass by value การส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้ โดยส่งค่าของตัวแปรหรือค่าคงที่ไปโดยตรง ค่าของอาร์กิวเมนต์ที่ผ่านให้กับฟังก์ชันจะถูกคัดลอกส่งให้กับฟังก์ชัน และจะถูกเปลี่ยนแปลงเฉพาะภายในฟังก์ชันโดยค่าของอาร์กิวเมนต์ในโปรแกรมที่เรียกใช้จะไม่เปลี่ยนแปลง
-Pass by reference การส่งค่าไปยังฟังก์ชันที่ถูกเรียกใช้โดยส่งเป็นค่าตำแหน่งที่อยู่ของตัวแปรไปซึ่งหากภายในฟังก์ชันมีการเปลี่ยนแปลงค่าของอาร์กิวเมนต์ที่ส่งไป ก็จะมีผลทำให้ค่าของอาร์กิวเมนต์นั้นในโปรแกรมที่เรียกใช้เปลี่ยนไปด้วย


2]โครงสร้างข้อมูลอะเรย์สองมิติ มีการจัดเก็บข้อมูลแบบตารางสองทาง ข้อมูลมีการจัดเรียงกันตามแนวแถว และ แนวหลัก การอ้างถึงข้อมูลต้องระบุตำแหน่งแถว และตำแหน่งหลักที่ข้อมูลนั้นอยู่
-การเข้าถึงสมาชิกตัวใด ใช้ตัวบอกลำดับ 2 ตัว
-โครงสร้างสามารถมองได้ในลักษณะ Matrix หรือ Table สมาชิกถูกจัดเรียงอยู่ในลักษณะแถว และคอลัมน์
-Structure โครงสร้างที่สมาชิกแต่ละตัวมีประเภทข้อมูลแตกต่างกัน อาจมีสมาชิกเป็นจำนวนเต็ม ทศนิยม อักขระ อะเรย์ หรือพอยเตอร์ หรือแม้แต่ structure ด้วยกันก็ได้
-Structure กับ pointer
-เราสามารถที่จะอ้างถึงที่อยู่เริ่มต้นของ structure ได้เหมือนกับตัวแปรอื่น ๆ โดยใช้ตัวดำเนินการ &
-ถ้า variable เป็นตัวแปรประเภท structure &variable จะเป็นเลขที่อยุ่เริ่มต้นของตัวแปร
-Pointer เป็นตัวแปรชนิดหนึ่งที่ทำหน้าที่เก็บตำแหน่งที่อยู่ (Address) ของตัวแปรที่อยู่ในหน่วยความจำ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น