采用面向物件的設計方法,設計一個整數集合類,具有輸入集合元素、排序、添加元素、判斷元素是否在集合中、求最大值、求最小值、輸出顯示集合元素等功能。
要求:資料成員是私有,成員函式是公有,每個功能對應一個成員函式。
用陣列來模擬一個集合,用一個整型變數記錄集合中元素的個數。
uj5u.com熱心網友回復:
這樣嗎#include <bits/stdc++.h>
using namespace std;
const int inf=0x3f3f3f3f;
class Aggregate{
private:
int s[1005],ls,MAX,MIN;
public:
Aggregate(){//初始化
ls=0,MAX=-inf,MIN=inf;
}
void Push(int x){//添加元素
if(Judge(x)==false){
MAX=max(MAX,x);
MIN=min(MIN,x);
s[ls++]=x;
}
}
void Sort(){//排序
sort(s,s+ls);
}
bool Judge(int x){//判斷元素是否在集合中
for(int i=0;i<ls;++i)
if(s[i]==x)
return true;
return false;
}
int Max(){
cout<<"最大值為:"<<MAX<<endl;
}
int Min(){
cout<<"最小值為:"<<MIN<<endl;
}
void Cout(){//顯示集合元素
for(int i=0;i<ls;++i)
cout<<s[i]<<" ";
cout<<endl;
}
};
int main()
{
Aggregate s;
for(int i=5;i>=1;--i)
s.Push(i);
s.Cout();
s.Sort();
s.Cout();
if(s.Judge(6)) cout<<"元素6在集合中"<<endl;
else cout<<"元素6不在集合中"<<endl;
if(s.Judge(5)) cout<<"元素5在集合中"<<endl;
else cout<<"元素5不在集合中"<<endl;
s.Push(0);
s.Max();
s.Min();
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/74503.html
標籤:C++ 語言
上一篇:關于vector的問題
