มาทำความรู้จักกับอาเรย์ 3 พี่น้องกัน น้องเล็กสุดคือ อาเรย์ 1 มิติ เป็นอาเรย์ที่มีสมาชิกหลายตัวเรียงติดต่อกันไปในแนวนอน หรืออาจเรียงในแนวตั้งก็ได้ ดังภาพ a) ส่วนอาเรย์ 2 มิติ เป็นอาเรย์ที่มีลักษณะเป็นตาราง เปรียบเสมือนนำอาเรย์ 1 มิติที่มีขนาดเท่ากันมาเรียงแถวซ้อนต่อกันเป็นชั้น ดังภาพ b) ส่วนพี่ใหญ่ อาเรย์ 3 มิติ ก็ซับซ้อนไปอีกนั่นคือเหมือนการนำเอาตารางอาเรย์ 2 มิติมาเรียงซ้อนทับกันเป็นชั้น ๆ ดังภาพ c) จากภาพที่เห็นนั้นเราจะสนใจเฉพาะดัชนีที่เรียงรายกันอยู่กรอบนอกของอาเรย์แต่ละประเภท
เวลาเราเรียกชุดอาเรย์ 1 มิติ ก็ใช้รูปทั่วไปได้ว่า A(L:U) โดยที่ A คือชื่อของอาเรย์ ซึ่งเรากำหนดเองได้ แต่ขอยกตัวอย่างว่าชื่อ A ก็แล้วกัน ส่วน L คือ ดัชนีต่ำสุดของอาเรย์ และ U คือ ดัชนีสูงสุดของอาเรย์ แต่โดยปกติมักไม่ค่อยสนใจ L เท่าไร คืออาจไม่เขียนไว้ในรูปทั่วไปของชุดอาเรย์ เพราะถือว่าเริ่มที่ 0 (ศูนย์)จึงอาจเขียนรูปทั่วไปเพียง A(U) มีตำราหลายเล่มก็บอกเริ่มที่ 1 เพื่อจะได้ง่ายกับการคำนวณ ดังนั้นจากภาพ a) ก็เรียกว่าเป็นชุดอาเรย์ A(9) ซึ่งมีสมาชิกคือ A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],A[8],A[9] มีสมาชิก 10 ตัว (เพราะนับจากสมาชิกตัวที่ศูนย์ด้วย)สังเกตด้วยนะว่าถ้าเป็นสมาชิก จะใช้วงเล็บ []เรียกว่า Square Brackets ส่วนชุดอาเรย์ใช้วงเล็บ ()ที่เรียกว่า parentheses ตัวอย่างจากภาพ a) ข้อมูลของ A[2] คือ -5 ข้อมูลของ A[7] คือ 56
ส่วนชุดอาเรย์ 2 มิติ ใช้รูปทั่วไปคือ A(L1:U1,L2:U2) ซึ่งจะเห็นว่าต้องระบุดัชนีต่ำสุดของแถวกับดัชนีสูงสุดของแถว (L1:U1) และระบุดัชนีต่ำสุดของคอลัมน์กับดัชนีสูงสุดของคอลัมน์ (L2:U2) ซึ่งซับซ้อนขึ้นกว่า 1 มิติ แต่อาจละ L1 และ L2 ไว้ก็ได้ เขียนเพียง A(U1,U2) จากภาพ b) จึงสามารถเขียนเป็นรูปทั่วไปได้ว่า A(0:9,0:9) หรือเขียนเพียง A(9,9)มีสมาชิก 100 ตัว คือ
A[0,0],A[0,1],A[0,2],A[0,3],...,A[0,9],
A[1,0],A[1,1],A[1,2],A[1,3],...,A[1,9],
A[2,0],A[2,1],A[2,2],A[2,3],...,A[2,9],
...
...
A[9,0],A[9,1],A[9,2],A[9,3],...,A[9,9]
การเขียนสมาชิกของอาเรย์ 2 มิติ จะต้องเขียนเป็นคู่ลำดับอย่างที่เห็น โดยระบุ ชื่ออาเรย์[แถว,คอลัมน์] หากระบุว่า A[3,5] ก็หมายความว่าเรากำลังจะสนใจกับสมาชิกของอาเรย์ A แถวที่ 3 คอลัมน์ที่ 5 ซึ่งเมื่อดูจากภาพจะเห็นได้ว่า A[3,5] นั้นเก็บข้อมูล 55 นั่นเอง
ชุดอาเรย์ 3 มิติ ใช้รูปทั่วไปคือ A(L1:U1,L2:U2,L3:U3) ในภาพ c) คือ A(0:9,0:9,0:2)หรือเขียนเพียง A(9,9,2) ซึ่งเมื่อระบุสมาชิกก็จะต้องให้ละเอียดลงไปถึงระดับความลึก เช่น A[1,4,0] หมายถึงสมาชิกแถวที่ 1 คอลัมน์ที่ 4 ชั้นที่ 0 หรือ A[5,8,2] หมายถึงสมาชิกแถวที่ 5 คอลัมน์ที่ 8 ชั้นที่ 2 หวังว่าคงทำความเข้าใจได้ไม่ยากเน้อ
ขอบคุณภาพจาก book.mql4.com/variables/arrays
วันอังคารที่ 6 กรกฎาคม พ.ศ. 2553
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)


1 ความคิดเห็น:
ขอบคุณค่ะ
สำหรับความรู้เพิ่มเติมที่นอกเหนือจากใบงาน
แสดงความคิดเห็น