วันจันทร์ที่ 20 กรกฎาคม พ.ศ. 2552

DTS 04-14/07/2009

Set and String

โครงสร้างข้อมูลแบบเซ็ต

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

ตัวดำเนินการของเซ็ต ประกอบด้วย
-set intersection แบบซ้ำกัน
-set union แบบรวมกัน
-ste difference แบบแตกแต่กัน

สตริง (String) หรือ สตริงของอักขระ (Character
String) เป็นข้อมูลที่ประกอบไปด้วย ตัวอักษร ตัวเลขหรือ
เครื่องหมายเรียงติดต่อกันไป รวมทั้งช่องว่าง

การประยุกต์ใช้คอมพิวเตอร์ที่เกี่ยวกับข้อมูลที่เป็นสตริง
มีการนำไปใช้สร้างโปรแกรมประเภทบรรณาธิการข้อความ
(text editor) หรือโปรแกรมประเภทประมวลผลคำ (word
processing) ซึ่งมีการทำงานที่อำนวยความสะดวกหลายอย่าง
เช่น การตรวจสอบข้อความ การจัดแนวข้อความ
ในแต่ละย่อหน้า และการค้นหาคำ

การกำหนดสตริงทำได้หลายแบบ คือ
1. กำหนดเป็นสตริงที่มีค่าคงตัว
(String Constants)
2. กำหนดโดยใช้ตัวแปรอะเรย์หรือพอยเตอร์

สามารถกำหนดได้ทั้งนอกและในฟังก์ชัน เมื่อกำหนดไว้นอก
ฟังก์ชัน ชื่อค่าคงตัวจะเป็นพอยเตอร์ชี้ไปยังหน่วยความจำที่เก็บสตริง
นั้น เมื่อกำหนดไว้ในฟังก์ชัน จะเป็นพอยเตอร์ไปยังหน่วยความจำที่
เก็บตัวมันเอง
ในการกำหนดตัวแปรของสตริง อาศัยหลักการ
ของอะเรย์ เพราะ สตริงก็คืออะเรย์ของอักขระที่ปิดท้าย
ด้วย null character (\0) และมีฟังก์ชันพิเศษสำหรับ
ทำงานกับสตริงโดยเฉพาะ
เช่น ต้องการสตริงสำหรับเก็บชื่อบุคคลยาวไม่เกิน 30
อักขระ ต้องกำหนดเป็นอะเรย์ขนาด 31 ช่อง เพื่อเก็บ
null character อีก 1 ช่อง

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

การกำหนดตัวแปร country
จะแต่งต่างกับการกำหนดตัวแปรอะเรย์
เพราะเป็นการกำหนดตัวแปรพอยเตอร์ขึ้น 4 ตัว ในการเขียนค่าเริ่มต้นคือ
ค่าคงตัวสตริง เขียนไว้ในเครื่องหมายวงเล็บปีกกา และเครื่องหมายคำพูดคือ
ค่าคงตัวสตริงฟังก์ชัน puts () ใช้ในการพิมพ์สตริงออกทางจอภาพ
โดยการผ่านค่าแอดเดรสของสตริงไปให้เท่านั้น

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

อะเรย์ของสตริงที่ยาวเท่ากัน
อะเรย์ในลักษณะนี้จะถือว่าเป็นอะเรย์ที่แท้จริง
และสามารถกำหนดได้ทั้งเมื่อมีการให้ค่าเริ่มต้น และเมื่อ
กำหนดเป็นตัวแปร โดยดำเนินการตามแบบการ
กำหนดอะเรย์ 2 มิติ
เช่น char fruit [3][7]={“Apple”, “Orange”, “Mango”};
กำหนดตัวแปร fruit เป็นแบบ 3 แถว 7 คอลัมน์ ใน
แต่ละช่องจะเก็บข้อมูลแบบอักขระ

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

การดำเนินการเกี่ยวกับสตริงในการดำเนินการเกี่ยวกับสตริง
จะมีฟังก์ชันที่อยู่ในแฟ้ม ข้อมูล stdio.h เก็บอยู่ใน C Library อยู่แล้ว
สามารถนำมาใช้ได้ โดยการใช้คำสั่ง #include ในการ
เรียกใช้ เช่น
- ฟังก์ชัน strlen(str) ใช้หาความยาวของสตริง
- ฟังก์ชัน strcpy (str1,str2) ใช้คัดลอกข้อมูล
จาก string หนึ่งไปยังอีก string หนึ่ง
- ฟังก์ชัน strcat(str1,str2) ใช้เชื่อมต่อข้อความ
2 ข้อความเข้าด้วยกัน
- ฟังก์ชัน strcmp(str1,str2 ) ใช้เปรียบเทียบ
ข้อความ 2 ข้อความว่ามีค่าเท่ากันหรือไม่ ถือหลักการ
เปรียบเทียบแบบพจนานุกรม เช่น abcda จะมีค่าน้อย
กว่า abcde และ abcdf จะมีค่ามากกว่า abcde ค่าที่
เท่ากัน คือ ค่าที่เหมือนกัน เช่น abcd กับ abcd สำหรับ
อักษรตัวเล็กตัวใหญ่ จะถือว่าอักษรตัวใหญ่มีค่าน้อยกว่า

อักษรตัวเล็ก ตามลำดับรหัส ASCII
เผยแพร่บทความ บันทึกเป็นฉบับร่าง

1 ความคิดเห็น: