题目是:
设计一个表达微型数据的集合类,可以对集合中的数据进行添加,删除,可以判断一个整数是否在这个集合里,可以求出集合数据的多少,可以判断集合的 空和满,空集合就是没有数据元素,满集合就是数据元素已经占满给出的存储单元.两个集合可以做交运算,就是将两个集合的公共数据组成一个新的集合,两个集合可以做并运算,就是将两个集合的所有数据组成一个新的集合.
要求:
1:分析集合类的数据属性要求.
2:分析集合类的操作属性要求.
3编制集合类的接口定义.
4:实现集合类的属性函数:
我编的是这样的:
#include
void createlist();
void deletelist();
void searchlist();
class jihe{
public:
char data;
int *next;
}note;
node *head;
int n=0;
void createlist()
{
node *p,*s;
char x;
int z=1;
head=new node;
p=head;
cout<<"建立一个集合,结束为“X”"< while(z)
{
cin>>x;
if(x!='x')
{
s=new node;
n++;
s->data=x;
p->next=s;
s->next=null;
p=s;
}
else z=0;
}
}
void delllist(char x)
{
node *p,*q;
if (head==null)
{
cout<<"\t\t\t下溢!"< return;
}
if (head->next==null)
{
cout<<"\t\t\t集合为空"< return;
}
q=head;
p=head->next;
while(p!=null&&p->data!=x)
{
q=p;
p=p->next;
}
if(p!=null)
{
q->next=p->next;
delete p;
n--;
cout<<"已经被删除!"< }
else
cout<<"未找到!"<}
void searchlist(char x)
{
node *p;
int i=1;
if(head==null)
{
cout<<"下溢"< return;
}
if(head->next==null)
{
cout<<"为空!"< return;
}
p=head->next;
while(p!=null&&p->data!=x)
{
p=p->next;
i++;
}
if(p!=null)
cout<<"在第"< else
cout<<"未能找到"<}
int main(int argc, char* argv[])
{
head=null;
int i,j=1;
char x;
void createlist();
void deletelist();
void searchlist();
}
但错误很多,我不会改了,麻烦各位帮忙改下!谢谢!!
--------------------next---------------------
阅读(1477) | 评论(0) | 转发(0) |