C++ sets class 1.0

ใบ อนุญาต: ฟรี ‎ขนาดแฟ้ม: 13.99 KB
‎คะแนนจากผู้ใช้: 3.6/5 - ‎8 ‎โหวต

คลาสชุดสามารถใช้เพื่อดําเนินการตั้งค่าในโปรแกรมของคุณ ซึ่งแสดงองค์ประกอบที่ตั้งค่าเป็นบิตในอาร์เรย์ส่วนตัวของจํานวนเต็มยาวที่ไม่มีลายเซ็น ขนาดอาร์เรย์เป็นค่าคงที่ที่กําหนดซึ่งสามารถเปลี่ยนแปลงได้เพื่อให้เหมาะกับการใช้งานของคุณ คลาสเซ็ตสนับสนุนการดําเนินการชุดต่อไปนี้โดยใช้ตัวดําเนินการ C++ ที่โอเวอร์โหลด: สหภาพ สหภาพของสองชุด A, B เป็นชุดขององค์ประกอบทั้งหมดที่เป็นของ A หรือ B อย่างใดอย่างหนึ่ง ในคลาสชุด สัญลักษณ์ + คือตัวดําเนินการไบนารียูเนียน: A + B = {x: x อยู่ใน A-or- x อยู่ใน B } อินเตอร์เซกชัน จุดตัดของสองชุด A, B เป็นชุดขององค์ประกอบทั้งหมดซึ่งเป็นของทั้ง A และ B สัญลักษณ์ * เป็นตัวดําเนินการอินเตอร์เซกชันไบนารี: A * B = {x: x อยู่ใน A -and- x อยู่ใน B } ตัว อย่าง เช่น ให้ A = {1, 2, 3, 4} และ B = {3, 4, 5, 6} แล้ว A + B = {1, 2, 3, 4, 5, 6} A * B = {3, 4} ส่วนเติมเต็ม ในทฤษฎีชุดชุดเป็นชุดย่อยของชุดสากลคงที่ U ในคลาสชุด U คือชุดขององค์ประกอบที่มีหมายเลขตั้งแต่ 1 ถึง MAX_WORDS * WORD_SIZE ในไฟล์การรายงานภาษีคลาสด้านล่าง #define MAX_WORDS 2 #define WORD_SIZE ( 8 * sizeof ( ยาวไม่มีลายเซ็น ) พารามิเตอร์เหล่านี้ทําให้ช่วงของ U, 1 ถึง 64 ในชุด เมื่อต้องการเพิ่มหรือลดขนาดของ U ให้เปลี่ยนค่าMAX_WORDSของคุณ ส่วนเติมเต็มของชุด A คือชุดขององค์ประกอบที่เป็นของ U แต่ไม่ใช่ของ A สัญลักษณ์ ~ เป็นตัวดําเนินการเสริม unary: ~A = {x: x อยู่ใน U x ไม่ได้อยู่ใน A } ตัว อย่าง เช่น ให้ A = {1, 2, 3, 4} และ B = {3, 4, 5, 6} แล้ว ~ A = {5, 6, 7, . ~ B = {1, 2, 7, 8, 9, .} แตก ต่าง กัน ความแตกต่างของสองชุด A, B คือชุดขององค์ประกอบทั้งหมดที่เป็นของ A น้อยกว่าใน B สัญลักษณ์ - เป็นตัวดําเนินการความแตกต่างของไบนารี: A - B = {x: x อยู่ใน A x ไม่ได้อยู่ใน B} ตัว อย่าง เช่น ให้ A = {1, 2, 3, 4} และ B = {3, 4, 5, 6} แล้ว A - B = {1, 2} สามารถแสดงได้ว่า A - B = A * ~ B ความแตกต่างสมมาตร ความแตกต่างสมมาตรของสองชุด A, B เป็นชุดขององค์ประกอบทั้งหมดที่เป็นของ A หรือ B แต่ไม่ใช่ทั้งสองอย่าง

ประวัติรุ่น

  • เวอร์ชัน 1.0 โพสต์เมื่อ 2001-01-15
    รุ่นใหม่

รายละเอียดหลักสูตร