📄 12ix.cpp
字号:
// Set.cpp Implementation file for Set class
#include "Set.h"
Set::Set () // default constructor
{ size = 0;
}
// Union returns a new set containing members of either set
Set Set::operator + (Set s) // union of sets
{ int j;
Set temp;
temp = s; // copy of arg set
for (j=0; j<size; j++) // now add owner set
if (!IsMember(temp.members[j]))
temp.members[temp.size++] = members[j++];
return (temp);
}
// Insertion returns a set with the arg. added (if not already a member)
Set Set::operator + (int n) // insertion of an integer
{ Set temp;
temp = *this;
if (!IsMember(n))
temp.members[temp.size++] = n;
return (temp);
}
// Intersection returns a set with members which were in both sets (both host and argument).
Set Set::operator & (Set s) // intersection of sets
{ Set temp;
int n, value;
for (n=0; n<s.size; n++) // check members of Set s
{ value = s.members[n]; // and add if also members of host
if (IsMember(value))
temp.members[temp.size++] = value;
}
for (n=0; n<size; n++) // now check members of
{ value = members[n]; // the host set which are not already
if (s.IsMember(value)) // in the temp set
if (!temp.IsMember(value))
temp.members[temp.size++] = value;
}
return (temp);
}
// Removes a number if it is a member
Set Set::operator - (int n) // removal of an integer
{ Set temp;
int k;
for (k=0; k<size; k++)
if (members[k] != n)
temp.members[temp.size++] = members[k];
return (temp);
}
// Returns true if n is a member of the owner set
int Set::IsMember (int n) // test for membership
{ int k;
for (k=0; k<size; k++)
if (members[k] == n)
return (1);
return (0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -