下载此文档

C 集合类.docx


文档分类:办公文档 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
集合的概念在数学中,我们把具有某些共同特征的元素构成的一个整体称为集合 .一个
集合就是由同一种有序类型的一组数据元素所组成的 ,这一种有序类型称为该集合的基类
型.
课堂练****设计一个集合类 numSet,存放有序的整型数序,其中的元素按从小到大的顺
序排列并且不包含相同的元素,要求:
1) 向数序中添加元素(过滤重复数据)并保持有序
2) 从数序中查找数据元素并删除
分析:
数据成员:
int
成员函数:
//
int count;
a[MAX]; //
void addnum(int n); //
v0id delenum(int n); // numSet( ) {count=0;} // void disp ( ); //
测试数据:numSet set1,set2;
(3);
(2);
(1);
();
(2);
();
3)求两个整数数序的合并数序 分析:增加友元函数:
friend numSet unionset(numSet &s1, numSet &s2);
返回s1与s2合并的结果
即:S={ s1,s2}
s1: i=0 s2: j=0 [i]
i<count j<count 与 [j]
i++
数序中元素的个数
存放数序的数组
向有序数组中添加元素
从有序数组中查找元素并删除
构造函数
输出有序数组
j++
比较确定添加顺序
例:set3=unionset(set1,set2)
setl: {1,2,3}
set2: {2,4,5,6}
set3: {1,2,3,4,5,6}
#include <iostream>
using namespace std;
const int MAX=20;
class Numset
{
friend Numset unionset(Numset &s1,Numset &s2); // 合并数序 s1 和 s2
int count;
int a[MAX];
public:
Numset()(count=0;} void addnum(int n)
(
int i=0,j;
while(i<count) if(n>a[i]) i++;
else break;
// 条件合并可简化逻辑 while(i<count&&n>a[i]) i++;
if(n==a[i]) return;
for(j=count;j>i;j--)
a[j]=a[j-1];
a[i]=n;
count++;
}
void disp()
(
for(int i=0;i<count;i++) cout<<a[i]<<”";
cout<<endl;
}
int geti(int i) (return a[

C 集合类 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人百里登峰
  • 文件大小39 KB
  • 时间2021-07-03