สรุป set and string มีโครงสร้างอยู่ 2 แบบ คือ โครงสร้างข้อมูลแบบเซ็ตและโครงสร้างข้อมูลแบบสตริง โครงสร้างข้อมูลแบบเซ็ต เป็นโครงสร้างข้อมูลที่ข้อมูลแต่ละตัวไม่มีความสัมพันธ์กัน ในภาษาซีจะไม่มีประเภทข้อมูลแบบเซ็ตนี้เหมือนกับในภาษาปาสคาล แต่สามารถใช้หลักการของการดำเนินงานแบบเซ็ตมาใช้ได้ โครงสร้างข้อมูลแบบสตริง สตริง (String) หรือ สตริงของอักขระ (Character String) เป็นข้อมูลที่ประกอบไปด้วย ตัวอักษร ตัวเลขหรือเครื่องหมายเรียงติดต่อกันไป รวมทั้งช่องว่าง การประยุกต์ใช้คอมพิวเตอร์ที่เกี่ยวกับข้อมูลที่เป็นสตริงมีการนำไปใช้สร้างโปรแกรมประเภทบรรณาการข้อความหรือโปรแกรมประเภทประมวลผล
การกำหนดสตริง
การกำหนดสตริงทำได้หลายแบบ คือ 1. กำหนดเป็นสตริงที่มีค่าคงตัว 2. กำหนดโดยใช้ตัวแปรอะเรย์หรือพอยเตอร์
การกำหนดค่าคงตัวสตริง
สามารถกำหนดได้ทั้งนอกและในฟังก์ชัน เมื่อกำหนดไว้นอกฟังก์ชัน ชื่อค่าคงตัวจะเป๋นพ้อยเตอร์ชี้ไปยังหน่วยความจำที่เก็บสตริงนั้น เมื่อกำหนดไว้ในฟังก์ชัน จะเป็นพอยเตอร์ไปยังหน่วยความจำที่เก็บตัวมันเอง
การกำหนดตัวแปรสตริง
ในการกำหนดตัวแปรของสตริง อาศัยหลักการของอะเรย์เพราะ สตริงคืออะเรยืของอักขระที่ปิดท้ายด้วย null character (\0) และมีฟังชันพิเศษสำหรับทำงานกับสตริงโดยเฉพาะอะเรย์ของสตริงถ้าหากมีสตริงจำนวนมาก ก็ควรจะทำให้เป็นอะเรย์ของสตริง เพื่อที่จะเขียนโปรแกรมได้สะดวกการสร้างอะเรย์ของสตริง สามารถสร้างได้ทั้งแบบที่ให้ค่าเริ่มต้นและแบบที่กำหนดเป็นตัวแปร
ฟังก์ชัน puts () ใช้ในการพิมพ์สตริงออกทางจอภาพ โดยการผ่านค่าแอดเดรสของสตริงไปให้เท่านั้น ข้อสังเกต การกำหนดอะเรย์ของสตริงในลักษณะอย่างนี้ ไม่ใช่อะเรย์ที่แท้จริงตามหลักการของอะเรย์ เนื่องจากขนาดของช่องในอะเรย์ไม่เท่ากัน แต่อนุโลมให้ถือว่าเป็นอะเรย์
อะเรย์ของสตริงที่ยาวเท่ากัน
อะเรย์ในลักษณะนี้จะถือว่าเป็นอะเรย์ที่แท้จริงและสามารถกำหนดได้ทั้งเมื่อมีการให้ค่าเริ่มต้น และเมื่อกำหนดเป็นตัวแปร โดยดำเนินการตามแบบการกำหนดอะเรย์ 2 มิติการกำหนดตัวแปรในลักษณะนี้ จะแตกต่างจากการกำหนดตัวแปรแบบความยาวไม่เท่ากัน คือ ในแบบความยาวไม่เท่ากัน ท้ายของสตริงจะเติม null character ให้เพียงตัวเดียว แต่ในแบบความยาวเท่ากัน จะเติม null character ให้จนครบทุกช่อง
การดำเนินการเกี่ยวกับสตริง
ในการดำเนินการเกี่ยวกับสตริง จะมีฟังก์ชันที่อยู่ในแฟ้ม ข้อมูล stdio.h เก็บอยู่ใน C Libraly อยู่แล้วสามารถนำมาใช้ได้ โดยการใช้คำสั่ง #include ในการเรียกใช้ เช่น
- ฟังก์ชัน strlen(str) ใช้หาความยาวของสตริง
- ฟังก์ชัน strcpy(str1,str2) ใช้คัดลอกข้อมูลจาก string หนึ่งไปยังอีก string หนึ่ง
- ฟังก์ชัน strcat(str1,str2) ใช้เชื่อมต่อข้อความ 2 ข้อความเข้าด้วยกัน
- ฟังก์ชัน strcmp(str1,str2) ใช้เปรียบเทียบข้อความ 2 ข้อความว่ามีค่าเท่ากันหรือไม่ ถือหลักการเปรียบเทียบแบบพจนานุกรม
วันพฤหัสบดีที่ 23 กรกฎาคม พ.ศ. 2552
วันอังคารที่ 30 มิถุนายน พ.ศ. 2552
DTS03 - 30/06/2552
บทที่ 2
Array and Recordอเรย์ เป็นตัวกำหนดขอบเขต จะมี subscript มากกว่า 1 ตัวขึ้นไป เรียกว่า อเรย์หลายมิติSubscript จะมีตัวประกอบด้วยคุณค่าสูงสุด และต่ำสุด ค่าต่ำสุดต้องมีค่าน้อยกว่าหรือเท่ากับค่าสูงสุดค่าต่ำสุด เรียกว่า ขอบเขตล่าง ค่าสูงสุด เรียกว่า ขอบเขตบนอะเรย์ 1 มิติ หมายถึง คอมพิวเตอร์จะจองเนื้อที่ในหน่วยความจำการส่งอะเรย์ให้กับฟังก์ชัน แบ่ง 2 ลักษณะ1. กำหนด array element เป็นพารามิเตอร์ส่งค่าให้กับฟังก์ชัน2. ส่งอะเรย์ทั้งชุดให้ฟังก์ชัน ทำได้โดยอ้างถึงชื่ออะเรย์โดยไม่มี subscriptอะเรย์ 2 มิติ หมายถึง คอมพิวเตอร์จะจองเนื้อที่ในหน่วยความจำ จำนวน 6 ที่
Data Structure Introductionข้อมูล ข้อมูลหมายถึง ตัวเลข ตัวอักษรโครงสร้างข้อมูล หมายถึง ข้อมูลต่างๆนำมาประกอบโครงสร้าง ออกแบบให้เป็นระบบ การเขียน loop Do while การเขียนผังงานโปรแกรมโครงสร้างสัญลัษณ์ ต่างๆๆนอกจากนี้เราสามารถจำแนกโครงสร้างข้อมูลในภาษาคอมพิวเตอร์ออกเป็น 2 ประเภท คือ โครงสร้างข้อมูลทางกายภาพ และโครงสร้างข้อมูลทางตรรกะ โครงสร้างข้อมูลทางกายภาพเป็นโครงสร้างข้อมูลพื้นฐานทั่วไปที่ทุกภาษาควรจะมีให้ใช้ เช่น จำนวนเต็ม จำนวนจริง ตัวอักขระ แถวลำดับ ระเบียนข้อมูล และแฟ้มข้อมูล เป็นต้น ส่วนโครงสร้างข้อมูลทางตรรกะเป็นโครงสร้างข้อมูลที่เกิดจากจินตนาการของผู้ใช้ เช่น ลิสต์ สแตก คิว ทรี และกราฟ เป็นต้น
Array and Recordอเรย์ เป็นตัวกำหนดขอบเขต จะมี subscript มากกว่า 1 ตัวขึ้นไป เรียกว่า อเรย์หลายมิติSubscript จะมีตัวประกอบด้วยคุณค่าสูงสุด และต่ำสุด ค่าต่ำสุดต้องมีค่าน้อยกว่าหรือเท่ากับค่าสูงสุดค่าต่ำสุด เรียกว่า ขอบเขตล่าง ค่าสูงสุด เรียกว่า ขอบเขตบนอะเรย์ 1 มิติ หมายถึง คอมพิวเตอร์จะจองเนื้อที่ในหน่วยความจำการส่งอะเรย์ให้กับฟังก์ชัน แบ่ง 2 ลักษณะ1. กำหนด array element เป็นพารามิเตอร์ส่งค่าให้กับฟังก์ชัน2. ส่งอะเรย์ทั้งชุดให้ฟังก์ชัน ทำได้โดยอ้างถึงชื่ออะเรย์โดยไม่มี subscriptอะเรย์ 2 มิติ หมายถึง คอมพิวเตอร์จะจองเนื้อที่ในหน่วยความจำ จำนวน 6 ที่
Data Structure Introductionข้อมูล ข้อมูลหมายถึง ตัวเลข ตัวอักษรโครงสร้างข้อมูล หมายถึง ข้อมูลต่างๆนำมาประกอบโครงสร้าง ออกแบบให้เป็นระบบ การเขียน loop Do while การเขียนผังงานโปรแกรมโครงสร้างสัญลัษณ์ ต่างๆๆนอกจากนี้เราสามารถจำแนกโครงสร้างข้อมูลในภาษาคอมพิวเตอร์ออกเป็น 2 ประเภท คือ โครงสร้างข้อมูลทางกายภาพ และโครงสร้างข้อมูลทางตรรกะ โครงสร้างข้อมูลทางกายภาพเป็นโครงสร้างข้อมูลพื้นฐานทั่วไปที่ทุกภาษาควรจะมีให้ใช้ เช่น จำนวนเต็ม จำนวนจริง ตัวอักขระ แถวลำดับ ระเบียนข้อมูล และแฟ้มข้อมูล เป็นต้น ส่วนโครงสร้างข้อมูลทางตรรกะเป็นโครงสร้างข้อมูลที่เกิดจากจินตนาการของผู้ใช้ เช่น ลิสต์ สแตก คิว ทรี และกราฟ เป็นต้น
วันจันทร์ที่ 29 มิถุนายน พ.ศ. 2552
DTS02 - 23/06/2552
สรุป
Data Structure
Introduction
1.ความหมายของโครงสร้างข้อมูลข้อมูล
-ข้อมูลคือข้อเท็จจริงต่างๆซึ่งอาจเป็นตัวเลขหรือไม่เป็นตัวเลขก็ได้
-โครงสร้างข้อมูลคือความสัมพันธ์ของสมาชิกในกลุ่ม
2.ประเภทของโครงสร้างข้อมูล แบ่งออกเป็น2ประเภทคือ
1.โครงสร้างข้อมูลทางกายภาพ(Physical Data Structure)
2.โครงสร้างข้อมูลทางตรรกะ(Logical Data Structure)
3.การแทนที่ข้อมูลในหน่วยความจำหลัก มีอยู่2วิธีดังนี้
-การแทนที่ข้อมูลแบบ สแตติก
-การแทนที่ข้อมูลแบบไดนามิก
4.ขั้นตอนวิธี
ขั้นตอนวิธีที่ดีควรมีคุณสมบัติดังนี้
-มีความถูกต้อง
-ใช้เวลาในการปฏิบัติงานน้อยที่สุด
-สั้น กระชับ มีเฉพาะขั้นตอนที่จำเป็นเท่านั้น
-มีความยืดหยุ่นในการใช้งาน
-ใช้เวลาในการพัฒนาน้อยที่สุด
-ง่ายต่อการทำความเข้าใจ
การบ้าน
#include <>
#include <>
int main(void)
{
struct Mytelephone{
char telephone[10];
char generation[70];
char system[70];
char color[70];
char thesystemshakes[70];
float weight;
float high;
float price;
}data;
strcpy(data.telephone,"motorola");
strcpy(data.generation,"RAZR2 V9 Ferrari");
strcpy(data.system,"Quadband DTAC");
strcpy(data.color,"black");
strcpy(data.thesystemshakes,"Vibration in Phone");
data.weight=53;
data.high=103;
data.price=11990;
printf("########################\n");
printf("### Mytelephon ###\n");
printf("########################\n");
printf("telephone : %s\n generation : %s\n system : %s\n color : %s\n thesystemshakes : %s\n weight : %.2f\n high : %d\n price : %.2f\n",data.telephone,data.generation,data.system,data.color,data.thesystemshakes,data.weight,data.high,data.price);
}
Data Structure
Introduction
1.ความหมายของโครงสร้างข้อมูลข้อมูล
-ข้อมูลคือข้อเท็จจริงต่างๆซึ่งอาจเป็นตัวเลขหรือไม่เป็นตัวเลขก็ได้
-โครงสร้างข้อมูลคือความสัมพันธ์ของสมาชิกในกลุ่ม
2.ประเภทของโครงสร้างข้อมูล แบ่งออกเป็น2ประเภทคือ
1.โครงสร้างข้อมูลทางกายภาพ(Physical Data Structure)
2.โครงสร้างข้อมูลทางตรรกะ(Logical Data Structure)
3.การแทนที่ข้อมูลในหน่วยความจำหลัก มีอยู่2วิธีดังนี้
-การแทนที่ข้อมูลแบบ สแตติก
-การแทนที่ข้อมูลแบบไดนามิก
4.ขั้นตอนวิธี
ขั้นตอนวิธีที่ดีควรมีคุณสมบัติดังนี้
-มีความถูกต้อง
-ใช้เวลาในการปฏิบัติงานน้อยที่สุด
-สั้น กระชับ มีเฉพาะขั้นตอนที่จำเป็นเท่านั้น
-มีความยืดหยุ่นในการใช้งาน
-ใช้เวลาในการพัฒนาน้อยที่สุด
-ง่ายต่อการทำความเข้าใจ
การบ้าน
#include <>
#include <>
int main(void)
{
struct Mytelephone{
char telephone[10];
char generation[70];
char system[70];
char color[70];
char thesystemshakes[70];
float weight;
float high;
float price;
}data;
strcpy(data.telephone,"motorola");
strcpy(data.generation,"RAZR2 V9 Ferrari");
strcpy(data.system,"Quadband DTAC");
strcpy(data.color,"black");
strcpy(data.thesystemshakes,"Vibration in Phone");
data.weight=53;
data.high=103;
data.price=11990;
printf("########################\n");
printf("### Mytelephon ###\n");
printf("########################\n");
printf("telephone : %s\n generation : %s\n system : %s\n color : %s\n thesystemshakes : %s\n weight : %.2f\n high : %d\n price : %.2f\n",data.telephone,data.generation,data.system,data.color,data.thesystemshakes,data.weight,data.high,data.price);
}
วันอังคารที่ 23 มิถุนายน พ.ศ. 2552
ประวัติ
สมัครสมาชิก:
บทความ (Atom)
.jpg)
