⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12ix.cpp

📁 C/C++程序设计导论(第二版)》程序源文件
💻 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 + -