1. 设计一个整数集合类,具有置空、添加元素、判断元素是否在集合中、求交集、输出显示集合元素等功能。
设计一个整数集合类,具有置空、添加元素、判断元素是否在集合中、求交集、输出显示集合元素等功能。...
设计一个整数集合类,具有置空、添加元素、判断元素是否在集合中、求交集、输出显示集合元素等功能。
展开
1个回答
2013-12-01
展开全部
//第一段代码
#include <stdio.h>
#include <malloc.h>
struct Number
{
int m_value;
Number *pNext;
};
class NumberSet
{
private:
int m_count;
struct Number *m_head;
struct Number *m_end;
public:
NumberSet()
{
m_count = 0;
m_head=NULL;
m_end=NULL;
}
void Append(int pValue) //把一个整型数值插入到集合末尾.
{
m_count++;
if(m_head==NULL)
{
m_head = (Number *)malloc(sizeof(Number));
m_head->m_value = pValue;
m_head->pNext = NULL;
m_end = m_head;
}
else
{
m_end->pNext = (Number *)malloc(sizeof(Number));
m_end->pNext->m_value = pValue;
m_end->pNext->pNext = NULL;
}
}
void clear() //清空集合
{
for(m_end=m_head;m_end!=NULL;m_end = m_head->pNext)
{
m_head = m_end->pNext;
free(m_end);
}
m_count=0;
}
~NumberSet()
{
clear();
}
int getNumber(int index) //获取集合中的数值.index为数值元素索引
{
if(index<0 || index>m_count-1) return 0;
for(m_end=m_head;m_end!=NULL;m_end=m_end->pNext)
{
if(index==0)
{
return m_end->m_value;
}
else
{
index--;
}
}
}
bool replaceNumber(int value,int index) //用一个新数值替换旧数值
{
if(index<0 || index>m_count-1) return false;
for(m_end=m_head;m_end!=NULL;m_end=m_end->pNext)
{
if(index==0)
{
m_end->m_value=value;
return true;
}
else
{
index--;
}
}
return false;
}
bool IsExisting(int pValue) //判断一个数值是否存在
{
for(m_end=m_head;m_end!=NULL;m_end=m_end->pNext)
{
if(pValue == m_end->m_value)
{
return true;
}
}
return false;
}
int getCount() //获取集合中数值元数的个数
{
return m_count;
}
#include <stdio.h>
#include <malloc.h>
struct Number
{
int m_value;
Number *pNext;
};
class NumberSet
{
private:
int m_count;
struct Number *m_head;
struct Number *m_end;
public:
NumberSet()
{
m_count = 0;
m_head=NULL;
m_end=NULL;
}
void Append(int pValue) //把一个整型数值插入到集合末尾.
{
m_count++;
if(m_head==NULL)
{
m_head = (Number *)malloc(sizeof(Number));
m_head->m_value = pValue;
m_head->pNext = NULL;
m_end = m_head;
}
else
{
m_end->pNext = (Number *)malloc(sizeof(Number));
m_end->pNext->m_value = pValue;
m_end->pNext->pNext = NULL;
}
}
void clear() //清空集合
{
for(m_end=m_head;m_end!=NULL;m_end = m_head->pNext)
{
m_head = m_end->pNext;
free(m_end);
}
m_count=0;
}
~NumberSet()
{
clear();
}
int getNumber(int index) //获取集合中的数值.index为数值元素索引
{
if(index<0 || index>m_count-1) return 0;
for(m_end=m_head;m_end!=NULL;m_end=m_end->pNext)
{
if(index==0)
{
return m_end->m_value;
}
else
{
index--;
}
}
}
bool replaceNumber(int value,int index) //用一个新数值替换旧数值
{
if(index<0 || index>m_count-1) return false;
for(m_end=m_head;m_end!=NULL;m_end=m_end->pNext)
{
if(index==0)
{
m_end->m_value=value;
return true;
}
else
{
index--;
}
}
return false;
}
bool IsExisting(int pValue) //判断一个数值是否存在
{
for(m_end=m_head;m_end!=NULL;m_end=m_end->pNext)
{
if(pValue == m_end->m_value)
{
return true;
}
}
return false;
}
int getCount() //获取集合中数值元数的个数
{
return m_count;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询