วันพฤหัสบดีที่ 16 กรกฎาคม พ.ศ. 2552

DTS04-15-07-2552

สรุปสิ่งที่ได้จากการเรียน เรื่อง SET AND STRING (ต่อ)

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

ARAY ของสตริงที่ยาวไม่เท่ากัน ทำได้เฉพาะเมื่อมีการกำหนดค่าเริ่มต้นเท่านั้น ตัวอย่างเช่น
จากภาพจะเห็นได้ว่า ค่าเริ่มต้นจะเขียนไว้ในเครื่องหมายวงเล็บปีกกา และข้อมูลจะอยู่ในเครื่องหมายคำพูด ซึ่งได้แก่ Bangkok, Saraburi, Chonburi และ Ubonratchathani ซึ่งตัวแปร province เป็นตัวแปรพอยน์เตอร์ 4 ตัว โดยให้แต่ละตัวชี้ไปยังค่าคงตัวสตริงทั้ง 4 ตัว

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

จากภาพเป็นการกำหนดตัวแปร vehicle เป็นแบบ 4 แถว 8 คอลัมน์ ซึ่งในแต่ละช่องเก็บข้อมูลแบบอักขระ
ความแตกต่างของอะเรย์ของสตรงที่ยาวเท่ากันและไม่เท่ากัน คือ อะเรย์ของสตริงที่ยาวไม่เท่ากันจะมีลักษณะ ดังภาพด้านล่าง
ส่วนอะเรย์ของสตริงที่ยาวเท่ากันจะมีลักษณะ ดังภาพด้านล่าง
การดำเนินการเกี่ยวกับสตริง จะใช้คำสั่ง #include ในการเรียกใช้ เช่น
- ฟังก์ชัน strlen(str) ใช้หาความยาว
- ฟังก์ชัน strcpy(str1, str2) ใช้คัดลอกข้อมูล จากตัวที่ 2 ไปให้ตัวที่ 1
- ฟังก์ชัน strcat(str1, str2) ใช้เชื่อมต่อข้อความ เช่น ตัวแปร 1 เก็บ ชื่อ ตัวแปร 2 เก็บ นามสกุล แล้วนำตัวแปรทั้ง2 มาต่อกัน
- ฟังก์ชัน stecmp(str1, str2) ใช้ปรียบเทียบข้อความ 2 ข้อความว่ามีค่าเท่ากันหรือไม่ ยึดตามหลักพจนานุกรม

LINKED LIST

ลิงค์ลิสต์ เป็นวิธีการเก็บข้อมูลอย่างต่อเนื่องของ element ต่างๆ โดยมีพอยน์เตอร์เป็นตัวเชื่อมต่อ ในแต่ละ element จะเรียกว่า node ซึ่งแต่ละโนดประกอบด้วย data (เก็บข้อมูลของอิลิเม้นท์) และ link field (เก็บตำแหน่งของโนดต่อไปในลิสต์) ดังภาพ
* data อาจเป็นรายการเดียว หรือเป็นเรคคอร์ดก็ได้


โครงสร้างข้อมูลแบบลิงค์ลิสต์

1. Head Structure ประกอบด้วย Count, Pos และ head แสดงได้ดังภาพ
2. Data Node Structure ประกอบด้วย Data และ Pointer ที่ชี้ไปยังข้อมูลตัวถัดไป แสดงได้ดังภาพ

กระบวนงานและฟังก์ชันที่ใช้ดำเนินงานพื้นฐาน
1. Create List มีหน้าที่สร้างลิสต์ว่าง ผลลัพธ์ที่ได้คือ ลิสต์ว่าง และ count จะมีค่าป็น 0
2. Insert Node มีหน้าที่เพิ่มข้อมูลลงไปในลิสต์ในตำแหน่งที่ต้องการ มีข้อมูลนำเข้า ได้แก่ ลิสต์ ข้อมูล และตำแหน่ง ส่วนผลลัพธ์ที่ได้คือ ลิสต์ที่มีการเปลี่ยนแปลง และ count จะมีค่าเป็น 1 หรือ 2.....n ตามจำนวนของการ insert
3. Delete Node มีหน้าที่ลบสมาชิกในลิสต์บริเวณตำแหน่งที่ต้องการ มีข้อมูลนำเข้า ได้แก่ ข้อมูลและตำแหน่ง ส่วนผลลัพธ์ที่ได้คือ ลิสต์ที่มีการเปลี่ยนแปลง และ count จะลดจำนวนจากเดิมลงเรื่อย ตามจำนวนลิสต์ที่ลบไป
4. Search list มีหน้าที่ค้นหาข้อมูลในลิสต์ที่ต้องการข้อมูลนำเข้าลิสต์ ผลลัพธ์ที่ได้ จะเป็นค่าจริงถ้าพบข้อมูล และจะเป็นค่าเท็จถ้าไม่พบข้อมูล

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

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