Page 1 of 1
array 2 มิติ
#1
Posted 24 September 2009 - 04:07 PM
ผมพยายามหาข้อมูลเกี่ยวกับ array 2 มิติ จากอินเตอร์เน็ต
แต่ผมก็ยังไม่เข้าใจอยู่ดี
ผมจะอ่านจากที่ไหนได้บ้างครับ
หรือใครมีคำแนะนำดีๆ
แนะนำผมด้วยนะครับ
จะเป็นพระคุณอย่างยิ่ง
ขอบคุณล่วงหน้าครับ
แต่ผมก็ยังไม่เข้าใจอยู่ดี
ผมจะอ่านจากที่ไหนได้บ้างครับ
หรือใครมีคำแนะนำดีๆ
แนะนำผมด้วยนะครับ
จะเป็นพระคุณอย่างยิ่ง
ขอบคุณล่วงหน้าครับ
#2
Posted 24 September 2009 - 04:34 PM
Array 2 มิติก็คือ Array of Array นั่นเองครับ
บางคนชอบสอนเป็นรูปตาราง แต่ผมว่ามันยิ่งสับสน ถ้ามันมากกว่า 2 มิติ เช่น Array of Array of Array ยิ่งวาดอาจยิ่งงง
ผมวาสอธิบายด้วย code นี่เข้าใจง่ายสุด
http://www.javaworld.com/javaworld/javaqa/...1-qa-array.html
บางคนชอบสอนเป็นรูปตาราง แต่ผมว่ามันยิ่งสับสน ถ้ามันมากกว่า 2 มิติ เช่น Array of Array of Array ยิ่งวาดอาจยิ่งงง
ผมวาสอธิบายด้วย code นี่เข้าใจง่ายสุด
http://www.javaworld.com/javaworld/javaqa/...1-qa-array.html
#3
Posted 24 September 2009 - 05:15 PM
ผมว่า เริ่มจากการมองเป็นตารางก่่อน จัดดีกว่าน่ะครับให้เข้าใจหลักของ array ก่อน
เช่น
String a[][] = new String[3][3]; // กว้าง 3 ยาว 3 (3x3)
ตำแหน่งต่างๆ จะเรียกตาม ตาราง ข้างล่าง
--------------------
| 0,0 | 0,1 | 0,2 |
--------------------
| 1,0 | 1,1 | 1,2 |
--------------------
| 2,0 | 2,1 | 2,2 |
--------------------
เช่น a[0][0] = "X"
ค่าใน ตารางก็ ช่องที่ 0,0 จะเท่ากับ X
--------------------
| X | _ | _ |
--------------------
| _ | _ | _ |
--------------------
| _ | _ | _ |
--------------------
และ a[2][2] = "Z"
ค่าใน ตารางก็ ช่องที่ 2,2 จะเท่ากับ Z
---------------
| X | _ | _ |
---------------
| _ | _ | _ |
--------------
| _ | _ | Z |
--------------
และประโยชน์ของการใช้ array 2D ก็ยกตัวอย่างง่ายก็ คือการ สร้างตารางไว้เก็บ ข้อมูลนั่นเอง
ปล. ไม่รู้ ช่วยได้เปล่า
เช่น
String a[][] = new String[3][3]; // กว้าง 3 ยาว 3 (3x3)
ตำแหน่งต่างๆ จะเรียกตาม ตาราง ข้างล่าง
--------------------
| 0,0 | 0,1 | 0,2 |
--------------------
| 1,0 | 1,1 | 1,2 |
--------------------
| 2,0 | 2,1 | 2,2 |
--------------------
เช่น a[0][0] = "X"
ค่าใน ตารางก็ ช่องที่ 0,0 จะเท่ากับ X
--------------------
| X | _ | _ |
--------------------
| _ | _ | _ |
--------------------
| _ | _ | _ |
--------------------
และ a[2][2] = "Z"
ค่าใน ตารางก็ ช่องที่ 2,2 จะเท่ากับ Z
---------------
| X | _ | _ |
---------------
| _ | _ | _ |
--------------
| _ | _ | Z |
--------------
และประโยชน์ของการใช้ array 2D ก็ยกตัวอย่างง่ายก็ คือการ สร้างตารางไว้เก็บ ข้อมูลนั่นเอง
ปล. ไม่รู้ ช่วยได้เปล่า
#4
Posted 24 September 2009 - 05:30 PM
1. array คือกล่องที่เก็บของได้หลายๆชิ้นครับ
2. array 2D คือกล่องที่เก็บกล่องเก็บของอีกที
3. array 3D คือกล่องที่เก็บกล่องที่เก็บกล่องครับ
4. array 4D คือ..
พอขี้เกียจพิมพ์
ถ้าจากข้างบนจะได้ว่าจำนวนของที่จะเก็บได้จะเท่ากับผลคูณของช่องเก็บของทุกกล่อง ^ ^
2. array 2D คือกล่องที่เก็บกล่องเก็บของอีกที
3. array 3D คือกล่องที่เก็บกล่องที่เก็บกล่องครับ
4. array 4D คือ..
พอขี้เกียจพิมพ์
ถ้าจากข้างบนจะได้ว่าจำนวนของที่จะเก็บได้จะเท่ากับผลคูณของช่องเก็บของทุกกล่อง ^ ^
#5
Posted 24 September 2009 - 08:53 PM
พี่ๆ ครับขอถามเพิ่มเติมจากเจ้าของกระทู้ครับ จริงๆ แล้วเนี่ยสามารถสร้าง Array ได้กี่มิติครับ แล้วข้อจำกัดเนี่ยขึ้นอยู่กับอะไรบ้างครับ
#6
Posted 24 September 2009 - 09:26 PM
nuboat, on Sep 24 2009, 05:30 PM, said:
1. array คือกล่องที่เก็บของได้หลายๆชิ้นครับ
2. array 2D คือกล่องที่เก็บกล่องเก็บของอีกที
3. array 3D คือกล่องที่เก็บกล่องที่เก็บกล่องครับ
4. array 4D คือ..
พอขี้เกียจพิมพ์
ถ้าจากข้างบนจะได้ว่าจำนวนของที่จะเก็บได้จะเท่ากับผลคูณของช่องเก็บของทุกกล่อง ^ ^
2. array 2D คือกล่องที่เก็บกล่องเก็บของอีกที
3. array 3D คือกล่องที่เก็บกล่องที่เก็บกล่องครับ
4. array 4D คือ..
พอขี้เกียจพิมพ์
ถ้าจากข้างบนจะได้ว่าจำนวนของที่จะเก็บได้จะเท่ากับผลคูณของช่องเก็บของทุกกล่อง ^ ^
หลักๆ ในเรื่องของ array หลายๆ มิติ จะเป็นเรื่องขอการเข้าถึง ข้อมูล การ ใส่ข้อมูลครับ
เช่น
String [][]a = new String [3][3];
for(int i =0 ; i < a.length ; i++){
for(int j = 0 ; j < a[0].length ;j++){
a[i][j] = "X";
}
}
จาก ตัวอย่างนี้แค่ ใส่ ข้อมูล แบบ 2D ก็ สอง loop ล่ะ ถ้า 4D ก็ 4 loop ซ่อนกัน + ความซับซน อีก เช่น (a[1][2][3][4] )
แต่เรื่อง performance นั่น ก็แน่ นอนครับ loop เยอะ ก็ หนัก
ปล. มิติ เยอะๆ ผมว่า คนเขียน จะงงไปเองซักก่อน
#7
Posted 24 September 2009 - 09:28 PM
โทษทีครับเมื่อกี่ reply ผิด อัน
หลักๆ ในเรื่องของ array หลายๆ มิติ จะเป็นเรื่องขอการเข้าถึง ข้อมูล การ ใส่ข้อมูลครับ
เช่น
String [][]a = new String [3][3];
for(int i =0 ; i < a.length ; i++){
for(int j = 0 ; j < a[0].length ;j++){
a[i][j] = "X";
}
}
จาก ตัวอย่างนี้แค่ ใส่ ข้อมูล แบบ 2D ก็ สอง loop ล่ะ ถ้า 4D ก็ 4 loop ซ่อนกัน + ความซับซน อีก เช่น (a[1][2][3][4] )
แต่เรื่อง performance นั่น ก็แน่ นอนครับ loop เยอะ ก็ หนัก
ปล. มิติ เยอะๆ ผมว่า คนเขียน จะงงไปเองซักก่อน
Firered, on Sep 24 2009, 08:53 PM, said:
พี่ๆ ครับขอถามเพิ่มเติมจากเจ้าของกระทู้ครับ จริงๆ แล้วเนี่ยสามารถสร้าง Array ได้กี่มิติครับ แล้วข้อจำกัดเนี่ยขึ้นอยู่กับอะไรบ้างครับ
หลักๆ ในเรื่องของ array หลายๆ มิติ จะเป็นเรื่องขอการเข้าถึง ข้อมูล การ ใส่ข้อมูลครับ
เช่น
String [][]a = new String [3][3];
for(int i =0 ; i < a.length ; i++){
for(int j = 0 ; j < a[0].length ;j++){
a[i][j] = "X";
}
}
จาก ตัวอย่างนี้แค่ ใส่ ข้อมูล แบบ 2D ก็ สอง loop ล่ะ ถ้า 4D ก็ 4 loop ซ่อนกัน + ความซับซน อีก เช่น (a[1][2][3][4] )
แต่เรื่อง performance นั่น ก็แน่ นอนครับ loop เยอะ ก็ หนัก
ปล. มิติ เยอะๆ ผมว่า คนเขียน จะงงไปเองซักก่อน
Share this topic:
Page 1 of 1

Help













