สรุปเรื่อง Linked List
ลิงค์ลิสต์ (Linked List) เป็นวิธีการเก็บ
ข้อมูลอย่างต่อเนื่องของอิลิเมนต์ต่าง ๆ โดยมี
พอยเตอร์เป็นตัวเชื่อมต่อ
และเรียนเกี่ยวกับ อิลิเมนท์หรือเรียกอีกอย่างว่าโนด( node )
เรียนเกี่ยวกับ Linked List(cont)
ในส่วนของ link จะเป็นส่วนที่เก็บตำแหน่ง
ของโหนดถัดไป ในโหนดสุดท้ายจะเก็บค่า Null
ซึ่งไม่ได้ชี้ไปยังตำแหน่งใด ๆ
กระบวนงาน Search list
หน้าที่ ค้นหาข้อมูลในลิสต์ที่ต้องการข้อมูลนำเข้าลิสต์
ผลลัพธ์ ค่าจริงถ้าพบข้อมูล ค่าเท็จถ้าไม่พบข้อมูล
DTS 04-24-07-2552
วันจันทร์ที่ 27 กรกฎาคม พ.ศ. 2552
วันอังคารที่ 14 กรกฎาคม พ.ศ. 2552
สรุป พอยน์เตอร์ (pointer)
พอยน์เตอร์เป็นตัวแปรที่ใช้เก็บตำแหน่ง (แทนที่จะเก็บค่า) ของข้อมูลเช่น ตัวแปรหรือสมาชิกของอะเรย์ พอยเตอร์ในภาษาซีมีประโยชน์มากมาย เช่น เราสามารถใช้พอยน์เตอร์ในการ ส่งข้อมูลไปมาระหว่างฟังก์ชันกับจุดที่เรียกใช้ ฟังก์ชัน พอยน์เตอร์ทำให้ฟังก์ชันสามารถส่งค่ากลับคืนมาได้หลายค่าโดยผ่านอาร์กิวเมนต์ของฟังก์ชัน นอกจากนั้นเรายังใช้พอยน์เตอร์ในการเรียกใช้ฟังก์ชันที่ถูกส่งมาเป็นอาร์กิวเมนต์ของอีกฟังก์ชันหนึ่งนั่นคือ เราสามารถส่งฟังก์ชันหนึ่งเป็นอาร์กิวเมนต์ให้อีกฟังก์ชันหนึ่งได้พอยน์เตอร์มีความใกล้เคียงกับอะเรย์ และเป็นวิธีหนึ่งที่เราจะอ้างถึงสมาชิกของอะเรย์ได้ยิ่งไปว่านั้น พอยต์เตอร์ยังจัดเตรียมวิธีการที่สะดวกสบาย ในการใช้อะเรย์หลายมิติ โดยแทนที่อะเรย์หลายมิติ 1 ตัวด้วยอะเรย์ของพอยน์เตอร์ที่มีมิติน้อยลง คุณลักษณะนี้ทำให้เราเก็บสตริงหลายๆ ตัวไว้ในอะเรย์เพียงตัวเดียวได้แม้ว่าสตริงเหล่านั้นจะมีความยาวไม่เท่ากันเครื่องหมายที่ใช้ในการทำงานกับตัวแปรพอยน์เตอร์-เครื่องหมาย & เป็นเครื่องหมายที่ใช้เมื่อต้องการให้เอาค่าตำแหน่งที่อยู่ (address) ของตัวแปรที่เก็บไว้ในหน่วยความจำออกมาใช้-เครื่องหมาย * เป็นเครื่องหมายที่จะใช้เมื่อต้องการให้นำค่าที่อยู่ในตำแหน่งที่ตัวแปรพอยน์เตอร์นั้นชี้อยู่ออกมาแสดงให้ดู
แบบฝึกหัด
1.ให้นักศึกษากำหนดค่าของ Array 1 มิติ และ Array 2 มิติ
ตอบ Array 1 มิติ คือ float nettotal[9];
และ Array 2 มิติ คือ int name[4][5];
2.ให้นักศึกษาหาค่าของ A[2] , A[6] จากค่าA={2,8,16,24,9,7,3,8,}
ตอบ A[2] คือ 16
A[6] คือ 3
3.จากค่าของ int a [2][3] = {{6,5,4},{3,2,1}}; ให้นักศึกษาหาค่าของ a[1][0]และa[0][2]
ตอบ a[1][0] คือ 3
a[0][2] คือ 4
4.ให้นักศึกษากำหนด structure ที่มีค่าของข้อมูลจากน้อย 6 Records
ตอบ #include"stdio.h"
struct telephone
{
int date;
int month;
int year;
char name[20];
char sex[6];
int age;
char series[20];
float price;
}tel;
void main()
{
5. ให้นักศึกษาบอกความแตกต่างของการกำหนดตัวชนิด Array กับตัวแปร Pointer ในสภาพของการกำหนดที่อยู่ของข้อมูล
ตอบ array หมายถึง ตัวแปรชุดที่ใช้เก็บตัวแปรชนิดเดียวกันไว้ด้วยกัน เช่น เก็บ ข้อมูล char ไว้กับ char เก็บ int ไว้กับ int ไม่สามารถเก็บข้อมูลต่างชนิดกันได้ เช่น char กับ int เรียก array อีกอย่างว่าหน่วยความจำแบ่งเป็นช่อง การกำหนดสมาชิกชิกของ array จะเขียนภายในเครื่องหมาย [ ]pointer หมายถึง ตัวเก็บตำแหน่งที่อยู่ของหน่วยความจำ (Address) หรือเรียกว่า ตัวชี้ ตำแหน่งที่อยู่ สัญลักษณ์ของ pointer จะแทนด้วยเครื่องหมาย *
DTS 03-01-07-2552
พอยน์เตอร์เป็นตัวแปรที่ใช้เก็บตำแหน่ง (แทนที่จะเก็บค่า) ของข้อมูลเช่น ตัวแปรหรือสมาชิกของอะเรย์ พอยเตอร์ในภาษาซีมีประโยชน์มากมาย เช่น เราสามารถใช้พอยน์เตอร์ในการ ส่งข้อมูลไปมาระหว่างฟังก์ชันกับจุดที่เรียกใช้ ฟังก์ชัน พอยน์เตอร์ทำให้ฟังก์ชันสามารถส่งค่ากลับคืนมาได้หลายค่าโดยผ่านอาร์กิวเมนต์ของฟังก์ชัน นอกจากนั้นเรายังใช้พอยน์เตอร์ในการเรียกใช้ฟังก์ชันที่ถูกส่งมาเป็นอาร์กิวเมนต์ของอีกฟังก์ชันหนึ่งนั่นคือ เราสามารถส่งฟังก์ชันหนึ่งเป็นอาร์กิวเมนต์ให้อีกฟังก์ชันหนึ่งได้พอยน์เตอร์มีความใกล้เคียงกับอะเรย์ และเป็นวิธีหนึ่งที่เราจะอ้างถึงสมาชิกของอะเรย์ได้ยิ่งไปว่านั้น พอยต์เตอร์ยังจัดเตรียมวิธีการที่สะดวกสบาย ในการใช้อะเรย์หลายมิติ โดยแทนที่อะเรย์หลายมิติ 1 ตัวด้วยอะเรย์ของพอยน์เตอร์ที่มีมิติน้อยลง คุณลักษณะนี้ทำให้เราเก็บสตริงหลายๆ ตัวไว้ในอะเรย์เพียงตัวเดียวได้แม้ว่าสตริงเหล่านั้นจะมีความยาวไม่เท่ากันเครื่องหมายที่ใช้ในการทำงานกับตัวแปรพอยน์เตอร์-เครื่องหมาย & เป็นเครื่องหมายที่ใช้เมื่อต้องการให้เอาค่าตำแหน่งที่อยู่ (address) ของตัวแปรที่เก็บไว้ในหน่วยความจำออกมาใช้-เครื่องหมาย * เป็นเครื่องหมายที่จะใช้เมื่อต้องการให้นำค่าที่อยู่ในตำแหน่งที่ตัวแปรพอยน์เตอร์นั้นชี้อยู่ออกมาแสดงให้ดู
แบบฝึกหัด
1.ให้นักศึกษากำหนดค่าของ Array 1 มิติ และ Array 2 มิติ
ตอบ Array 1 มิติ คือ float nettotal[9];
และ Array 2 มิติ คือ int name[4][5];
2.ให้นักศึกษาหาค่าของ A[2] , A[6] จากค่าA={2,8,16,24,9,7,3,8,}
ตอบ A[2] คือ 16
A[6] คือ 3
3.จากค่าของ int a [2][3] = {{6,5,4},{3,2,1}}; ให้นักศึกษาหาค่าของ a[1][0]และa[0][2]
ตอบ a[1][0] คือ 3
a[0][2] คือ 4
4.ให้นักศึกษากำหนด structure ที่มีค่าของข้อมูลจากน้อย 6 Records
ตอบ #include"stdio.h"
struct telephone
{
int date;
int month;
int year;
char name[20];
char sex[6];
int age;
char series[20];
float price;
}tel;
void main()
{
5. ให้นักศึกษาบอกความแตกต่างของการกำหนดตัวชนิด Array กับตัวแปร Pointer ในสภาพของการกำหนดที่อยู่ของข้อมูล
ตอบ array หมายถึง ตัวแปรชุดที่ใช้เก็บตัวแปรชนิดเดียวกันไว้ด้วยกัน เช่น เก็บ ข้อมูล char ไว้กับ char เก็บ int ไว้กับ int ไม่สามารถเก็บข้อมูลต่างชนิดกันได้ เช่น char กับ int เรียก array อีกอย่างว่าหน่วยความจำแบ่งเป็นช่อง การกำหนดสมาชิกชิกของ array จะเขียนภายในเครื่องหมาย [ ]pointer หมายถึง ตัวเก็บตำแหน่งที่อยู่ของหน่วยความจำ (Address) หรือเรียกว่า ตัวชี้ ตำแหน่งที่อยู่ สัญลักษณ์ของ pointer จะแทนด้วยเครื่องหมาย *
DTS 03-01-07-2552
สมัครสมาชิก:
ความคิดเห็น (Atom)