ในบทความนี้ เราจะมาศึกษาถึงความสำคัญของ โครงสร้างข้อมูล ,ประเภทต่างๆของ โครงสร้างข้อมูล มีอยู่ใน C++ และวิธีใช้อย่างมีประสิทธิภาพในโปรแกรมของคุณ
โครงสร้างข้อมูลในภาษา C++ คืออะไร
เดอะ โครงสร้างข้อมูล เป็นแนวคิดที่สำคัญในการเขียนโปรแกรมและมีบทบาทสำคัญในการจัดเก็บและจัดระเบียบข้อมูล ใน C++ โครงสร้างข้อมูลสามารถกำหนดเป็นวิธีการจัดเก็บข้อมูลและจัดการข้อมูลในรูปแบบเฉพาะ ซึ่งช่วยให้สามารถเข้าถึงและจัดการข้อมูลได้อย่างมีประสิทธิภาพ ทำให้โปรแกรมเมอร์สามารถเขียนและบำรุงรักษาโค้ดได้ง่ายขึ้น
ใน C++, โครงสร้างข้อมูล มีไวยากรณ์ดังต่อไปนี้:
โครงสร้าง โครงสร้าง_ชื่อ {
ประเภทข้อมูล1 ชื่อ1 ;
ประเภทข้อมูล 2 ชื่อ 2 ;
ชนิดข้อมูล3 ชื่อ3 ;
ชนิดข้อมูล4 ชื่อ4 ;
..
..
..
} obj_name ;
ในไวยากรณ์ข้างต้น the โครงสร้างคำหลัก ใช้สำหรับกำหนดโครงสร้างและ โครงสร้าง_ชื่อ เป็นชื่อที่ผู้ใช้กำหนดของโครงสร้างและอาจแตกต่างกันไป เดอะ ประเภทข้อมูล1 เป็นประเภทข้อมูลของสมาชิกของโครงสร้างและ ชื่อ1 เป็นชื่อสมาชิกของโครงสร้างและ obj_name เป็นชื่อของวัตถุที่กำหนดโครงสร้าง
ตัวอย่าง
ในตัวอย่างด้านล่าง the ข้อมูลโครงสร้าง ประกอบด้วยสมาชิกสามคน: ชื่อ, อายุ, และ การเป็นพลเมือง
โครงสร้าง ข้อมูล
{
ถ่าน ชื่อ [ ห้าสิบ ] ;
นานาชาติ การเป็นพลเมือง ;
นานาชาติ อายุ ;
}
ลองรันโค้ดนี้ใน C++ เราได้กำหนดสมาชิกทั้งหมดเหล่านี้ในโครงสร้างบุคคลและไม่ได้จัดสรรพื้นที่ใดๆ ในฟังก์ชันหลัก เราได้เริ่มต้นสมาชิกเหล่านี้ด้วยค่าเฉพาะและพิมพ์ออกมา:
#รวมถึงใช้เนมสเปซมาตรฐาน ;
โครงสร้าง ข้อมูล
{
ชื่อสตริง ;
นานาชาติ อายุ ;
} ;
นานาชาติ หลัก ( เป็นโมฆะ ) {
โครงสร้าง ข้อมูลหน้า ;
หน้า ชื่อ = 'ไซนับ' ;
หน้า อายุ = 23 ;
ศาล << 'ชื่อคน: ' << หน้า ชื่อ << จบ ;
ศาล << 'คนอายุ: ' << หน้า อายุ << จบ ;
กลับ 0 ;
}
รหัสกำหนดโครงสร้างชื่อ ข้อมูล โดยมีคุณสมบัติ 2 ประการ คือ ชื่อและอายุ ในฟังก์ชั่นหลักใหม่ ข้อมูล วัตถุถูกสร้างขึ้นและกำหนดชื่อและอายุของมัน สุดท้าย ค่าของฟิลด์เหล่านี้จะถูกพิมพ์ไปยังคอนโซลโดยใช้ cout
การจำแนกโครงสร้างข้อมูลในภาษา C++
ใน C++ โครงสร้างข้อมูล แบ่งออกเป็นสองประเภทกว้างๆ คือ โครงสร้างข้อมูลเชิงเส้นและไม่เชิงเส้น . โครงสร้างข้อมูลแบ่งตามลักษณะดังต่อไปนี้
ลักษณะ | คำอธิบาย | ตัวอย่าง |
เชิงเส้น | ข้อมูลถูกจัดเรียงตามลำดับเชิงเส้น | อาร์เรย์ |
ไม่ใช่เชิงเส้น | รายการของข้อมูลไม่ได้อยู่ในลำดับเชิงเส้น | กราฟ ต้นไม้ |
คงที่ | ตำแหน่ง ขนาด และหน่วยความจำได้รับการแก้ไขแล้ว | อาร์เรย์ |
พลวัต | ขนาดจะเปลี่ยนไปตามการทำงานของโปรแกรม | รายการที่เชื่อมโยง |
เป็นเนื้อเดียวกัน | รายการเป็นประเภทเดียวกัน | อาร์เรย์ |
ไม่เป็นเนื้อเดียวกัน | รายการอาจเป็นหรือไม่เป็นประเภทเดียวกันก็ได้ | โครงสร้าง |
ประเภทของโครงสร้างข้อมูลในภาษา C++ คือ:
1: อาร์เรย์
อาร์เรย์เป็นโครงสร้างข้อมูลพื้นฐานที่สุดของภาษา C++ อาร์เรย์คือกลุ่มขององค์ประกอบที่มีประเภทข้อมูลเดียวกัน อาร์เรย์ช่วยให้ดำเนินการกับชุดข้อมูลทั้งหมดได้ง่ายขึ้น ค่าที่เก็บไว้ในอาร์เรย์เรียกว่าองค์ประกอบ
2: รายการที่เชื่อมโยง
องค์ประกอบของข้อมูลในรายการที่เชื่อมโยงจะเชื่อมต่อผ่านโหนด แต่ละโหนดมีที่อยู่และข้อมูลของโหนดหลังจากนั้น เหมาะที่สุดสำหรับการเพิ่มและลบโหนด รายการที่เชื่อมโยงมีสองประเภท ประเภทหนึ่งคือรายการเดียวและอีกประเภทหนึ่งคือรายการที่เชื่อมโยงแบบทวีคูณ ในรายการที่เชื่อมโยงแบบเดี่ยว โหนดก่อนหน้ามีข้อมูลของโหนดที่ตามมา แต่โหนดถัดไปไม่รู้จักโหนดก่อนหน้า ในรายการเชื่อมโยงทวีคูณ ทิศทางจะเดินหน้าและถอยหลัง
3: สแต็ค
สแต็คเป็นประเภทข้อมูลนามธรรมที่เป็นไปตามหลักการ LIFO (เข้าก่อนออกก่อน) กฎนี้หมายความว่าองค์ประกอบที่ใส่เข้าไปสุดท้ายจะถูกลบก่อน ใช้กับอัลกอริทึมการย้อนกลับแบบเรียกซ้ำ
4: หาง
คิวยังเป็นประเภทข้อมูลนามธรรมและเป็นไปตามกฎ FIFO (เข้าก่อนออกก่อน) กฎนี้หมายความว่าองค์ประกอบที่แทรกก่อนจะถูกลบก่อน มีประโยชน์ในขณะที่จัดการกับการตีความระบบตามเวลาจริง
5: ต้นไม้
ต้นไม้คือชุดของโครงสร้างข้อมูลแบบไม่เชิงเส้นที่มีหลายโหนด อนุญาตเพียงขอบเดียวที่มีจุดยอดสองจุด
6: กราฟ
ในกราฟ แต่ละโหนดเป็นจุดยอดและแต่ละจุดเชื่อมกับจุดยอดอื่นผ่านขอบ ทรงกลมคือจุดยอดและลูกศรคือขอบ พวกมันใช้สำหรับสร้างสถานการณ์ในชีวิตจริงหรือโครงข่ายประสาทเทียม กราฟมีสามประเภทที่แตกต่างกัน: กราฟไม่มีทิศทาง กราฟสองทิศทาง และกราฟถ่วงน้ำหนัก
การดำเนินการดำเนินการกับโครงสร้างข้อมูล
เราสามารถทำหน้าที่ต่อไปนี้กับโครงสร้างข้อมูลใน C++:
- การแทรกองค์ประกอบข้อมูลใหม่ในโครงสร้างข้อมูล
- การลบองค์ประกอบข้อมูลที่มีอยู่ออกจากโครงสร้างข้อมูล
- แสดงองค์ประกอบข้อมูลทั้งหมดในโครงสร้างข้อมูล
- ค้นหาองค์ประกอบเฉพาะในโครงสร้างข้อมูล
- จัดเรียงองค์ประกอบทั้งหมดตามลำดับจากน้อยไปมากหรือมากไปน้อย
- รวมองค์ประกอบจากสองโครงสร้างข้อมูลและสร้างใหม่
บรรทัดล่าง
โครงสร้างข้อมูลใน C++ เป็นวิธีจัดการข้อมูลอย่างมีประสิทธิภาพเพื่อให้สามารถเข้าถึงได้ สิ่งสำคัญคือต้องเลือกโครงสร้างข้อมูลที่เหมาะสมสำหรับโครงการของคุณ หากคุณต้องการเพิ่มข้อมูลตามลำดับ ให้เลือกใช้อาร์เรย์ การทำความเข้าใจแนวคิดโครงสร้างข้อมูลจะช่วยให้คุณเชี่ยวชาญในศิลปะของการเขียนโปรแกรมและการออกแบบอัลกอริทึม