Define a set class with int type and unlimited number of elements, including:

Source: Internet
Author: User

Let's talk about nothing.Code=,

Thank you for your help. Otherwise, you will have problems all the time>. <you can take the exam with you.

However, we still need to be self-reliant.

# Include <iostream> using namespace STD; struct intset {int * inset ;}; class set {PRIVATE: int size; int * elements; public: Set () {size = 0; elements = NULL;} void show (); bool operator <= (set & S); bool operator = (set & S); bool Operator! = (Set & S); set & operator | (set & S); set & operator & (set & S); set & operator-(set & S ); void operator + = (int x); void operator-= (int x );~ Set () {If (elements! = NULL) {Delete [] elements ;}}; void set: Show () {for (INT I = 0; I <size; I ++) {cout <elements [I] <";}cout <Endl;} bool set: Operator <= (set & S) {int COUNT = 0; for (INT I = 0; I <size; I ++) {for (INT z = 0; Z <S. size; Z ++) {If (elements [I] = S. elements [Z]) {count ++ ;}}if (COUNT = size) {return true ;}elsereturn false ;} bool set :: operator = (set & S) {int COUNT = 0; For (INT I = 0; I <size; I ++) {for (INT z = 0; z <S. size; Z ++) {if (Elements [I] = S. elements [Z]) {count ++ ;}} if (COUNT = size & size = S. size) {return true;} elsereturn false;} bool set: Operator! = (Set & S) {int COUNT = 0; For (INT I = 0; I <size; I ++) {for (INT z = 0; Z <S. size; Z ++) {If (elements [I] = S. elements [Z]) {count ++ ;}} if (COUNT = size & size = S. size) {return false;} elsereturn true;} set & set: Operator | (set & S) {Set * Set = new set; Set-> size = size; set-> elements = new int [set-> size]; for (INT r = 0; r <size; r ++) {set-> elements [R] = elements [R];} For (INT I = 0; I <S. size; I ++) {int COUNT = 0; For (Int J = 0; j <size; j ++) {If (S. elements [I]! = Elements [J]) {count ++ ;}} if (COUNT = size) {int * temp = elements; Set-> size ++; set-> elements = new int [set-> size]; for (INT I1 = 0; I1 <set-> size-1; I1 ++) {set-> elements [I1] = temp [I1];} set-> elements [set-> size-1] = S. elements [I] ;}} return * Set ;}// Intersection Set & set: Operator & (set & S) {Set * Set = new set; set-> elements = NULL; Set-> size = 0; For (INT I = 0; I <S. size; I ++) {for (Int J = 0; j <size; j ++) {If (S. elements [I] = E Lements [J]) {int * temp = set-> elements; Set-> size ++; Set-> elements = new int [set-> size]; for (INT I1 = 0; I1 <set-> size-1; I1 ++) {set-> elements [I1] = temp [I1];} set-> elements [set-> size-1] = elements [J] ;}}return * set;} // difference set & set :: operator-(set & S) {Set * Set = new set; Set-> size = 0; Set-> elements = NULL; For (INT I = 0; I <size; I ++) {int COUNT = 0; For (Int J = 0; j <S. size; j ++) {If (elements [I]! = S. elements [J]) {count ++ ;}} if (COUNT = S. size) {int * temp = set-> elements; Set-> size ++; Set-> elements = new int [set-> size]; for (INT I1 = 0; i1 <set-> size-1; I1 ++) {set-> elements [I1] = temp [I1];} set-> elements [set-> size-1] = elements [I] ;}} return * set;} void set: Operator + = (INT X) {int flag = 0; For (INT I = 0; I <size; I ++) {If (x = elements [I]) {flag = 1 ;}} if (flag = 0) {int * temp = elements; size ++; elements = new int [Si Ze]; for (INT I = 0; I <size-1; I ++) {elements [I] = temp [I];} elements [size-1] = x;} else {cout <x <"already exists in this set. Adding failed. "<Endl ;}} void set: Operator-= (int x) {int flag = 0; int Pos; For (INT I = 0; I <size; I ++) {If (x = elements [I]) {flag = 1; Pos = I ;}} if (flag = 0) {cout <"this collection does not exist" <x <". deletion failed. "<Endl;} else {int * temp = elements; size --; elements = new int [size]; for (Int J = 0; j <Pos; j ++) {elements [J] = temp [J];} For (INT I = Pos; I <size-1; I ++) {elements [I] = temp [I + 1] ;}} void main () {set set1; Set set2; Set set3; set1 + = 1; set1 + = 2; set1 + = 3; set2 + = 7; set2 + = 2; set1.show (); set3 = set1 | set2; set1.show ();}

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.