The Fourth Dimension Space

枯叶北风寒,忽然年以残,念往昔,语默心酸。二十光阴无一物,韶光贱,寐难安; 不畏形影单,道途阻且慢,哪曲折,如渡飞湍。斩浪劈波酬壮志,同把酒,共言欢! -如梦令

SomeThing For The Test

就是实现一个简单的集合类IntSet

//"IntSet.h"
//Coded By abilitytao
//2010年9月27日
#include<vector>
#include
<algorithm>
#include
<iostream>
using namespace std;

class IntSet
{
public:
    vector
<int> data;
    IntSet()
    
{data.clear();}
    
~IntSet(){}
    
void insert(int x)
    
{
        
int i;
        
for(i=0;i<data.size();i++)
        
{
            
if(data[i]==x)
                
return;
        }

        data.push_back(x);
    }

    
bool IsEqual(IntSet s)
    
{
        sort(data.begin(),data.end());
        
if(data.size()!=s.data.size())
            
return false;
        
for(int i=0;i<data.size();i++)
        
{

            
if(data[i]!=s.data[i])
                
return false;
        }

        
return true;
    }

    IntSet union2(IntSet s1,IntSet s2)
    
{
        IntSet ans;
        
for(int i=0;i<s1.data.size();i++)
            
for(int j=0;j<s2.data.size();j++)
            
{

                
if(s1.data[i]==s2.data[j])
                    ans.insert(s1.data[i]);
            }

        
return ans;
    }

    IntSet incorporate2(IntSet s1,IntSet s2)
    
{
        IntSet ans;
        
for(int i=0;i<s1.data.size();i++)
        
{
            ans.insert(s1.data[i]);
        }

        
for(int j=0;j<s2.data.size();j++)
        
{
            ans.insert(s2.data[j]);
        }

        
return ans;
    }

    
void print()
    
{
        
for(int i=0;i<data.size();i++)
            printf(
"%d ",data[i]);
    }

}
;


//"IntSet.cpp"
//Coded By abilitytao
//2010年9月27日
#include"IntSet.h"
#include
<iostream>
using namespace std;


int main()
{

    IntSet s1,s2,s3,s4;
    
int x;
    
for(cin>>x;x!=0;cin>>x)
    
{
        s1.insert(x);
    }

    
for(cin>>x;x!=0;cin>>x)
    
{
        s2.insert(x);
    }

    
if(s1.IsEqual(s2))
        cout
<<"s1 is equal s2"<<endl;
    s3
=s3.union2(s1,s2);
    s4
=s4.incorporate2(s1,s2);
    cout
<<"\ns1:";
    s1.print();
    cout
<<"\ns2:";
    s2.print();
    cout
<<"\ns3:";
    s3.print();
    cout
<<"\ns4:";
    s4.print();
    
return 0;
}

posted on 2010-09-27 17:09 abilitytao 阅读(211) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理