• 大小: 55KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: 其他
  • 标签: IntSet  

资源简介

定义、实现并测试表示由整型数元素组成的集合类型IntSet。 定义、实现并测试表示由整型数元素组成的集合类型IntSet。 定义、实现并测试表示由整型数元素组成的集合类型IntSet。

资源截图

代码片段和文件信息

#include 
#include 
using namespace std;
#include “intset.h“

IntSet::IntSet(int m)
{
    if (m<1) exit(1);
    cursize=0;
    x=new int[maxsize=m];
}

IntSet::IntSet(const IntSet& m)
{
    cursize=m.cursize;
    x=new int[maxsize=m.maxsize];
    for (int i=0; i}

IntSet::~IntSet()
{
    delete x;
}

bool IntSet::member(int t) const
{
    int l=0;
    int u=cursize-1;
    while (l<=u)
    {
        int m=(u+l)/2;
        if (t        else if (t>x[m])  l=m+1;
        else return true;
    }
    return false;
}

void IntSet::insert(int t)
{
    if (member(t)) return;
    if (cursize>=maxsize) exit(1);
    x[cursize++]=t;
    for (int i=cursize-1; i>0; i--)
        if (x[i]        {
            int temp=x[i];
            x[i]=x[i-1];
            x[i-1]=temp;
        }
        else break;
}

ostream& operator<<(ostream& os const IntSet& is)
{
    cout << “{“;  //cin
    if (is.cursize>0)
    {
        for (int i=0; i        {
            os<        }
        os<    }
    cout << “}“;
    return os;
}

IntSet IntSet::operator+(const IntSet& anotherset)
{
     return setunion(anotherset);
}

IntSet IntSet::operator*(const IntSet& anotherset)
{
     return setintsection(anotherset);
}

IntSet IntSet::operator-(const IntSet& anotherset)
{
    IntSet r;
    for (int i=0; i    return r;
}

//∪
IntSet IntSet::setunion(const IntSet& anotherset)
{
    //IntSet r = *this;
    IntSet r(cursize + anotherset.cursize);
    for (int i=0; i    for (int j=0; j    return r;
}

//∩
IntSet IntSet::setintsection(const IntSet& anotherset)
{
    IntSet r;
    for (int i=0; i    return r;
}

//-
IntSet IntSet::setdifference(const IntSet& anotherset)
{
    IntSet r;
    for (int i=0; i    return r;
}

void IntSet::print()
{
    cout << “{“;  //cin
    if (cursize>0)
    {
        for (int i=0; i        {
            cout<        }
        cout<    }
    cout << “}“;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-11-28 01:28  IntSet\
     文件        1103  2017-11-28 01:28  IntSet\IntSet.cbp
     文件         527  2017-11-28 01:30  IntSet\IntSet.depend
     目录           0  2017-11-28 01:29  IntSet\bin\
     目录           0  2017-11-28 01:29  IntSet\bin\Debug\
     文件       89053  2017-11-28 01:31  IntSet\bin\Debug\IntSet.exe
     文件        2472  2017-11-26 13:06  IntSet\intset.cpp
     文件         944  2017-11-26 13:03  IntSet\intset.h
     目录           0  2017-11-28 01:29  IntSet\obj\
     目录           0  2017-11-28 01:29  IntSet\obj\Debug\
     文件       22078  2017-11-28 01:29  IntSet\obj\Debug\intset.o
     文件       12676  2017-11-28 01:29  IntSet\obj\Debug\main.o
     文件       14924  2017-11-28 01:31  IntSet\obj\Debug\testIntSet1.o
     文件       15947  2017-11-28 01:29  IntSet\obj\Debug\testIntSet2.o
     文件       16124  2017-11-28 01:31  IntSet\obj\Debug\testIntSet3.o
     文件         350  2017-11-28 01:31  IntSet\testIntSet1.cpp
     文件        1788  2017-11-26 14:02  IntSet\testIntSet2.cpp
     文件         650  2017-11-28 01:31  IntSet\testIntSet3.cpp

评论

共有 条评论

相关资源