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
เผยแพร่บทความ บันทึกเป็นฉบับร่าง
สุดยอดค้ะ !!
ตอบลบ