格物学 高中知识点

设计一个整数集合类,具有置空、添加元素、判断元素是否在集合中、求交集、输出显示集合元素等功能。

格物自测!为高考,从高一就准备自己的知识点储备!
2024-05-04
设计一个整数集合类,具有置空、添加元素、判断元素是否在集合中、求交集、输出显示集合元素等功能。
//第一段代码#include #include 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=v true;
} else { index--;
} } return false;
} bool IsExisting(int pValue) //判断一个数值是否存在 { for(m_end=m_head;
m_end!
=NULL;
m_e) { if(pValue == m_end->m_value) { return tre;
} int getCount() //获取集合中数值元数的个数 { return m_count;
} 回答人的补充 2009-05-07 00:02 //第二段代码 t * getIntersection(NumberSet *descNS) //求两个集合的交集 { NumberSe = NULL;
if(descNS == NULL) retf(this == descis;
} else { pNumberSet = new NumberSet();
int index=0;
for(m_end=m_head;
m_end!
=NULL;
m_end=m_end->pNext) { index = detCount();
while(index>0) end->m_value==descNS->getNumber(index) && !
pNumberSet->IsExisting(m_end->m_value) ) { pNumberSet->Append(m_end->m_value);
} } } } return pNumberSet;
} void Display() //打印集合元素数值 { printf("count:%d\nnumbers:",m_count);
for(m_end=m_head;
m_end!
=NULL;
m_end=m_end->pNext) { printf("%d ",m_end->m_value);
} }};
void main(){ NumberSet objNS;
objNS.Append(1);
objNS.Append(2);
objNS.Append(3);
NumberSet objNS2;
objNS2.Append(3);
objNS2.Append(4);
objNS.getIntersection(&objNS2)->Display();
//打印交集} None 内容来自网友回答


设计一个整数集合类,具有置空、添加元素、判断元素是否在集合中、求交集、输出显示集合元素等功能。

用c++来实现上述功能

高考倒计时 {dede:global.cfg_gktime/}2024年高考时间 6月7日,8日,9日
高中知识点专业其他问题:
高中知识点
相近专业 历年高考分数 高中知识点 高一 测试 计算机 材料 机械 仪器仪表 能源动力 电气 电子信息 自动化 化工与制药 地质 矿业 纺织 轻工 交通运输 海洋工程 航空航天 兵器 核工程 农业工程 林业工程 环境科学与工程 生物医学工程 食品科学与工程 建筑 安全科学与工程 生物工程 公安技术 网络空间安全 土木 水利 测绘 植物生产 自然保护与环境生态 动物生产 动物医学 林学 水产 草学 基础医学 临床医学 口腔医学 公共卫生与预防医学 中医学 中西医结合 药学 中药学 法医学 医学技术 管理科学与工程 工商管理 农业经济管理 公共管理 图书情报与档案管理 物流管理与工程 工业工程 电子商务 旅游管理 艺术学理论 音乐与舞蹈学 戏剧与影视学 美术学 设计学 哲学 经济学 财政学 金融学 经济与贸易 法学 政治学 社会学 民族学 马克思主义理论 公安学 教育学 体育学 中国语言文学 外国语言文学 新闻传播学 历史学 数学 物理学 化学 天文学 地理科学 大气科学 海洋科学 地球物理学 地质学 生物科学 心理学 统计学 高考试题库 力学