using System;
namespace Set_Array_Implementation
{
class Set
{
private bool [] set;
private int size;
public bool isMember(int element)
{
return set[element];
}
public void insert(int element)
{
set[element] = true;
}
public void delete(int element)
{
set[element] = false;
}
public void makenull()
{
for (int i = 1; i <= size; i++)
set[i] = false;
}
public Set(int size)
{
this.size = size;
set = new bool[this.size + 1];
}
public bool isEmpty()
{
foreach (bool element in set)
{
if (element)
return false;
}
return true;
}
public Set Union(Set S)
{
Set newSet = new Set(size + 1);
for (int i = 1; i <= size; i++)
{
if (isMember(i) || S.isMember(i))
{
newSet.insert(i);
}
}
return newSet;
}
public Set Intersection(Set S)
{
Set newSet = new Set(size + 1);
for (int i = 1; i <= size; i++)
{
if (isMember(i) && S.isMember(i))
{
newSet.insert(i);
}
}
return newSet;
}
public Set Difference(Set S)
{
Set newSet = new Set(size + 1);
for (int i = 1; i <= size; i++)
{
if (isMember(i) && !S.isMember(i))
{
newSet.insert(i);
}
}
return newSet;
}
public void print()
{
string str = "";
for (int i = 1; i <= size; i++)
{
if (set[i])
str += i + " ";
}
if (str.Equals(""))
{
Console.WriteLine("Set is Empty");
}
else
{
Console.WriteLine("{" + string.Join(", ", str.TrimEnd().Split(' ')) + "}");
}
}
}
}
--------------------------------------------------------------------------------------------------------------------
Driver Program Using Set ADT
using System;
namespace Set_Array_Implementation
{
class Program
{
static void Main(string[] args)
{
Set A = new Set(10);
Set B = new Set(10);
Set C;
A.insert(1);
A.insert(3);
A.insert(4);
Console.Write("Set A = ");
A.print();
B.insert(2);
B.insert(3);
B.insert(5);
Console.Write("Set B = ");
B.print();
C = A.Union(B);
Console.Write("Union of A and B = ");
C.print();
C = A.Intersection(B);
Console.Write("Intersection of A and B = ");
C.print();
C = A.Difference(B);
Console.Write("Difference of A and B = ");
C.print();
Console.WriteLine("Press any key to continue.");
Console.ReadKey();
}
}
}
No comments:
Post a Comment