ตัวแปลชนิด Array จัดทำโดย : Mr.POP พิมพ์
 Untitled Document

สวัสดีครับ บทความคราวนี้ผมจะมาขึ้นเรื่องของตัวแปรชุดหรือ Array (อะเรย์) กันนะครับ เรามาลองนึกถึงการประกาศตัวแปรทั่วๆ ไปกันก่อนนะครับ เช่น ผมต้องการตัวแปร 1 ตัวมาเก็บค่าจำนวนเต็ม 1 จำนวน ผมสามารถประกาศเป็น int x ; นะครับ แต่ปัญหามันมีอยู่ว่าถ้าเกิดผมต้องการตัวแปรมาเก็บจำนวนเต็ม ซัก 50 จำนวนล่ะครับทำอย่างไร บางคนบอกประกาศตัวแปรเลย 50 ตัว เช่น int x1, x2 ,x3, x4, x5.........x50 ; ไปจนครบ 50 ตัวเลย แค่เห็นก็เหนื่อยแแล้วครับ และถ้าผมต้องการเก็บซัก 100 ตัวล่ะครับ เราไม่ต้องนั่งพิมพ์ไปจนครบ 100 ตัวเลยหรือครับ!! อะเรย์จะมาช่วยแก้ปัญหาตรงนี้ให้เราได้ครับโดยความหมายของ อะเรย์ คือ ชุดของตัวแปรที่แสดงอยู่ในรูปของลำดับที่เพื่อใช้สำหรับเก็บค่าของข้อมูลที่อยูในกลุ่มเดียวกัน Array จะแตกต่างไปจากตัวแปรอื่น คือ ตัวแปรอื่นจะถูก เก็บอยู่ในหน่วยความจำในแต่ละตำแหน่งที่ไม่ต่อเนื่องกัน ส่วนตัวแปร Array จะถูกเก็บอยู่ในหน่วยความจำในแต่ละตำแหน่งที่ต่อเนื่องกัน ซึ่งจะมีขนาดเล็กหรือใหญ่ ก็ขึ้นอยู่กับจำนวนมิติและจำนวนสมาชิกที่กำหนด คราวนี้มาดูการใช้งานกันเลยครับ

การสร้าง Array

dataType = ชนิดข้อมูลของตัวแปรอะเรย์ เช่น int ,double เป็นต้น

arrayName = ชื่อของตัวแปรอะเรย์

เช่น int [ ] myList = new int [10]
double name[ ] = new double [5]

จะมีการประกาศได้ 2 แบบนะครับจะใช้แบบไหนก็ได้สังเกตดูว่าจะแตกต่างกันนิดเดียวครับ จากตัวอย่างตัวแปรชื่อ myList เป็นตัวแปรอะเรย์ชนิด int มีขนาด 10 ส่วนตัวแปรชื่อ name นั้นก็มีชนิดเป็น double มีขนาดเป็น 5 เครื่องหมาย [ ] นั้นจะเป็น index เพื่อใช้บอกตำแหน่งของตัวอะเรย์นั้นๆ ซึ่งจะเริ่มต้นที่ 0 เสมอ เช่น จากตัวอย่างตัวแปร name ถูกกำหนดขนาดไว้ 5 พื้นที่ที่ถูกจองก็จะเป็นดังรูป

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

อธิบายโปรแกรม จากโปรแกรมจะเป็นตัวอย่างง่ายๆ นะครับคือ มีการประกาศตัวแปร x เป็นอะเรย์โดยมีการระบุค่าเริ่มต้นใน { } ไว้ 5 จำนวน ในกรณีนี้ตัวเลขเหล่านี้นจะถูกจัด เก็บในอะเรย์โดยอัตโนมัติซึ่งในบรรทัดที่ 8 จะให้แสดงค่าที่ตำแหน่งอะเรย์ x[1] ออกมา ซึ่งค่าที่ได้คือ 2 นั่นเอง

สรุป

1.ประกาศตัวแปรอะเรย์แบบไม่กำหนดค่าเริ่มต้นทำได้ดังนี้

int [ ] myList = new int [10] ;

2. ประกาศตัวแปรอะเรย์แบบกำหนดค่าเริ่มต้นทำได้ดังนี้

int [ ] myList = {4,2,3};

Array 2 มิติ
เราสามารถสร้าง Array ได้มากกว่า 1 มิติ โดยผมจะยกตัวอย่างเรื่องของเมทตริกซ์(Matrix) ในทางคณิตศาสตร์นะครับ ใครเคยเรียนมาก็คงจะนึกภาพออกนะครับ การสร้าง อะเรย์ 2 มิติ นั้นสามารถทำได้ดังนี้


โดยตำแหน่งแรกจะหมายถึง แถว ตำแหน่งที่สองจะหมายถึง คอลัมน์ ซึ่งตำแหน่งเริ่มต้นของอะเรย์ 2 มิตินั้นก็จะเริ่มต้นที่ index [0][0] เช่นกันนะครับ เช่น matrix [1][5] จะหมายถึง ค่าของตัวแปร matrix ในแถวที่ 1 คอลัมน์ที่ 5 เป็นต้น ลองมาดูตัวอย่างอีกซัก 1 ตัวอย่างนะครับ

อธิบายโปรแกรม จากโปรแกรมมีการประกาศตัวแปร m เป็นอะเรย์ 2 มิติขนาด 2x3 (2 แถว 3 หลัก) แล้วสร้างลูป for ไว้ 2 ลูป โดยที่ลูปนอกสุดกำหนดโดยค่า i ให้มีการวน ลูปตามจำนวนเท่ากับแถวของอะเรย์คือ 2 แถว และลูปในสุดกำหนดโดยค่า j ให้มีการวน ลูปตามจำนวนเท่ากับหลักของอะเรย์คือ 3 หลัก แล้วนำค่า x มาใส่ไว้ที่ตัวแปร m ตาม ตำแหน่งของ index ในอะเรย์แล้วแสดงค่าออกมา ลองไล่โค้ดดูนะครับว่างงไหมคิดว่าไม่น่าจะยากเกินไปนะครับ

ปิดท้ายกันซักนิดนะครับว่าการใช้งานของตัวแปรประเภทอะเรย์มีประโยชน์มากพยายามฝึกฝนการใช้งานให้คล่องนะครับ แล้วจะสามารถนำมาใช้งานได้อย่างมี ประสิทธิภาพเลยทีเดียว สำหรับบทความนี้ผมขอจบเพียงเท่านี้นะครับเจอกันใหม่บทความหน้านะครับ...

คุณอาจสนใจ
สรุปคำสั่ง Action Script บน Flash MX (ตอนที่ 3)
สหรัถ แซ่ตั้ง (48,359 - 08 ก.ย. 50)
เจาะลึกการใช้ Symbolism Tool และ Data Driven Graphic กับงานพิมพ์ และงานเว็บ (ตอนต่อ)
ธนิศา ไชยภูริพัฒน์ (35,354 - 19 ม.ค. 51)
การส่งผ่าน Arguments
Mr.POP (37,178 - 05 พ.ย. 49)
การเรียงลำดับ
หมูขุน (21,592 - 20 มี.ค. 50)
วิธีการติดตั้งวินโดส์เอ็กพี โดยใช้ฮาร์ดิสก์ SATA
เว็บไทยดีดี (16,514 - 29 ก.ย. 50)
สร้างข้อความแบบโค้งพลิ้วบน Illustrator
langjuko (69,097 - 29 ต.ค. 51)
การปรับเปลี่ยนขนาดฟอนต์ Font
อ้อม (19,420 - 13 ม.ค. 50)
Move Tool (V)
Mr.GuruZ (78,464 - 22 ก.ย. 50)