Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2338028
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:09:17

题目是:
设计一个表达微型数据的集合类,可以对集合中的数据进行添加,删除,可以判断一个整数是否在这个集合里,可以求出集合数据的多少,可以判断集合的 空和满,空集合就是没有数据元素,满集合就是数据元素已经占满给出的存储单元.两个集合可以做交运算,就是将两个集合的公共数据组成一个新的集合,两个集合可以做并运算,就是将两个集合的所有数据组成一个新的集合.
要求:
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---------------------

阅读(1473) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~