วิธีการอธิบายชุด

สารบัญ:

วิธีการอธิบายชุด
วิธีการอธิบายชุด

วีดีโอ: วิธีการอธิบายชุด

วีดีโอ: วิธีการอธิบายชุด
วีดีโอ: เรียนรู้การออกแบบเสื้อผ้า : วาดหุ่น u0026 หาไอเดีย (อยากเป็นดีไซเนอร์) | สนุกเรียน3 ตอนที่ 28 2024, พฤศจิกายน
Anonim

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

วิธีการอธิบายชุด
วิธีการอธิบายชุด

จำเป็น

  • - การพัฒนาสภาพแวดล้อม;
  • - นักแปลจากภาษาโปรแกรมที่เลือก

คำแนะนำ

ขั้นตอนที่ 1

อธิบายชุดโดยใช้ภาษาการเขียนโปรแกรม หากมี ตัวอย่างเช่น ในภาษาปาสกาล มีชุดโครงสร้างที่ให้คุณประกาศประเภทที่เกี่ยวข้อง จริง ปริมาณของชุดดังกล่าวไม่ควรเกิน 256 องค์ประกอบ ตัวอย่างของการประกาศประเภทชุดอาจมีลักษณะดังนี้:

พิมพ์

AZLetters = ชุดของ 'A'.. 'Z';

AllLetters = ชุดถ่าน;

ตัวแปรและค่าคงที่ของประเภทที่เป็นชุดถูกประกาศในลักษณะปกติ ในกรณีนี้ สามารถใช้ set literals ในการเริ่มต้นได้ ตัวอย่างเช่น:

const

LettersSet1: AZLetters = ['A', 'B', 'C'];

ขั้นตอนที่ 2

ใช้ความสามารถของไลบรารีหรือโมดูลมาตรฐานเพื่ออธิบายชุด ดังนั้น ไลบรารีเทมเพลต C ++ ซึ่งควรมาพร้อมกับคอมไพเลอร์ รวมเทมเพลตสำหรับคลาสคอนเทนเนอร์ชุดที่ใช้ฟังก์ชันการทำงานของชุด:

แม่แบบ <

คีย์คลาส, ลักษณะคลาส = น้อย, ตัวจัดสรรคลาส = ตัวจัดสรร

ชุดคลาส

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

ขั้นตอนที่ 3

ใช้คลาสหรือเทมเพลตคลาสที่ใช้ในการพัฒนาเฟรมเวิร์กที่ใช้ฟังก์ชันการทำงานกับชุด หากมี ตัวอย่างของเครื่องมือดังกล่าวคือคลาสเทมเพลต QSet ของโมดูล QtCore ของไลบรารี Qt ความสามารถของมันคล้ายกับคอนเทนเนอร์ชุด STL ที่อธิบายไว้ในขั้นตอนก่อนหน้า

ขั้นตอนที่ 4

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