📄 cjj111.htm
字号:
cout<<"bp:"<<bp<<endl;<BR>
swap(ap,bp);<BR>
cout<<"swap
ap,bp"<<endl;<BR>
cout<<"ap:"<<ap<<endl;<BR>
cout<<"bp:"<<bp<<endl;<BR>}<BR>本程序的执行结果如下:<BR>ap:hello<BR>bp:hoe
are you?<BR>swap ap,bp<BR>ap:how are
you?<BR>bp:hello<BR><BR>-----------------------------------------------------<BR><BR><FONT
color=#0000ff>04.设计一个集合类Set,包括将集合置空、添加元素、判断元素是否在集合中、输出集合,以及将集合中元素逆置,另外还有一个拷贝构造函数,并使用一些数据进行测试。<BR></FONT>解:<BR>
Set类包括私有数据成员elems(存放集合元素)、pc(当前元素指针),一个默认构造函数和拷贝构造函数Set(Set
&s),另有成员函数empty()(将集合置空)、isempty()(判断集合是否为空)、ismemberof()(判断元素是否在集合中)、add()(添加元素)、print()(输出集合)、reverse(将集合中元素置逆)。<BR>本题程序如下:<BR>#include<iostream.h><BR>#define
Max 100<BR>class Set<BR>{<BR>
public:<BR>
Set(){pc=0;}<BR>
Set(Set &s); //
对象引用作为参数<BR>
void
empty(){pc=0;}<BR>
int isempty(){return
pc==0;}<BR>
int ismemberof(int
n);<BR>
int add(int
n);<BR>
void
print();<BR>
void reverse();<BR>
private:<BR>
int
elems[Max];<BR>
int pc;<BR>};<BR>int Set::ismemberof(int
n)<BR>{<BR> for(int
i=0;i<pc;i++)<BR>
if(elems[i]==n)<BR>
return 1;<BR> return
0;<BR>}<BR>int Set::add(int
n)<BR>{<BR>
if(ismemberof(n))<BR>
return 1;<BR> else
if(pc>Max)<BR>
return 0;<BR>
else<BR>
{<BR>
elems[pc++]=n;<BR>
return 1;<BR>
}<BR>}<BR>Set::Set(Set
&p)<BR>{<BR>
pc=p.pc;<BR> for(int
i=0;i<pc;i++)<BR>
elems[i]=p.elems[i];<BR>}<BR>void
Set::print()<BR>{<BR>
cout<<"{";<BR> for(int
i=0;i<pc-1;i++)<BR>
cout<<elems[i]<<",";<BR>
if(pc>0)<BR>
cout<<elems[pc-1];<BR>
cout<<"}"<<endl;<BR>}<BR>void
Set::reverse()<BR>{<BR> int
n=pc/2;<BR> for(int
i=0;i<n;i++)<BR>
{<BR>
int
temp;<BR>
temp=elems[i];<BR>
elems[i]=elems[pc-i-1];<BR>
elems[pc-i-1]=temp;<BR>
}<BR>}<BR>void main()<BR>{<BR>
Set A;<BR>
cout<<"A是否为空:";
cout<<A.isempty()<<endl;<BR>
cout<<"A:"; A.print();<BR>
Set B;<BR> for(int
i=1;i<=8;i++)<BR>
B.add(i);<BR> cout<<"B:";
B.print();<BR>
cout<<"5是否在B中:";
cout<<B.ismemberof(5)<<endl;<BR>
B.empty();<BR> for(int
j=11;j<20;j++)<BR>
B.add(j);<BR> Set
C(B);<BR> cout<<"C:";
C.print();<BR>
C.reverse();<BR>
cout<<"C逆置"<<endl;<BR>
cout<<"C:";
C.print();<BR>}<BR>本程序执行结果如下:<BR>A是否为空:1<BR>A:{}<BR>B:{1,2,3,4,5,6,7,8}<BR>5是否在B中:1<BR>C:{11,12,13,14,15,16,17,18,19}<BR>C逆置<BR>C:{19,18,17,16,15,14,13,12,11}<BR><BR><BR></P><BR>
</TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR>
<TR>
<TD height=35 width="100%">
<DIV align=center></DIV>
</TD>
</TR>
</TBODY>
</TABLE>
</TD></TR></TBODY>
</TABLE>
</TD></TR></TBODY>
</TABLE>
</TD></TR></TBODY>
</TABLE>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width=750>
<TBODY>
<TR>
<TD bgColor=#c1c1c1 height=1></TD>
</TR>
</TBODY>
</TABLE>
<TABLE align=center border=1 cellPadding=0 cellSpacing=1
style="BORDER-COLLAPSE: collapse" width=550>
<TBODY>
<td align=center>
<div align="center">
<p><a href=mailto:jjsun36@sohu.com ><span class="body14black">mailto:jjsun36@sohu.com</span></a><span class="body12red">
热线电话:0523-4864559</span></p>
</div>
</td>
</TBODY>
</TABLE>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -