实现对象管理器功能,其中管理的对象有3个外部关键字,要求实现:
增加对象;
删除对象;
判断对象是否存在;
说明: 对象的三个外部关键字分别以KEY1,KEY2,KEY3表示。
#include "ObjMgt.h"
#include <vector>
using namespace std;
typedef struct{
unsigned int key1;
unsigned int key2;
unsigned int key3;
}KEY;
vector <KEY> allKey;
/*************************************************************************
功能:增加单个对象
输入:
key1 外部关键字 KEY1
key2 外部关键字KEY2
key3 外部关键字KEY3
输出:无
返回:
-1 :失败(对象已经存在或者其它异常)
0 :成功
***************************************************************************/
int AddObject (unsigned int key1, unsigned int key2, unsigned int key3)
{
/*请实现*/
if(allKey.size() > 10000)
return -1;
if(key1 > 65535 || key2 > 65535 || key3 > 65535)
return -1;
int i,j = allKey.size();
for(i = 0; i < j;i++)
if(allKey[i].key1 == key1 && allKey[i].key2 == key2 && allKey[i].key3 == key3)
return -1;
KEY k = {key1,key2,key3};
allKey.push_back(k);
return 0;
}
/********************************************************************************
功能:删除一个或多个对象
输入:
key1 外部关键字 KEY1
key2 外部关键字 KEY2
key3 外部关键字 KEY3
输出:无
返回:无
说明:用例保证参数取值为合法值和通配符0xFFFFFFFF, 通配符表示0~65535范围内的任意值;
举例:key1=1,key2=2,key3= 0xFFFFFFFF,表示删除key1=1,key2=2的所有对象;
key1,key2,key3取值全为0xFFFFFFFF时,表示删除所有对象。
*********************************************************************************/
void DeleteObject (unsigned int key1, unsigned int key2, unsigned int key3)
{
/*请实现*/
bool allKey1,allKey2,allKey3;
if(key1 == 0xffffffff)
allKey1 = true;
else
allKey1 = false;
if(key2 == 0xffffffff)
allKey2 = true;
else
allKey2 = false;
if(key3 == 0xffffffff)
allKey3 = true;
else
allKey3 = false;
int i,j = allKey.size();
vector<KEY>::iterator it ;
it = allKey.begin();
while (it != allKey.end())
{
if(allKey1 || it->key1 == key1)
if(allKey2 || it->key2 == key2)
if(allKey3 || it->key3 == key3){
it = allKey.erase(it);
continue;
}
it++;
}
return ;
}
/********************************************************************************
功能:查询单个对象是否存在
输入:
key1 外部关键字 KEY1
key2 外部关键字 KEY2
key3 外部关键字 KEY3
输出:无
返回:
0:不存在
1:存在
**********************************************************************************/
int IsObjectExist (unsigned int key1, unsigned int key2, unsigned int key3)
{
/*请实现*/
if(key1 > 65535 || key2 > 65535 || key3 > 65535)
return 0;
int i,j = allKey.size();
for(i = 0; i < j;i++)
if(allKey[i].key1 == key1 && allKey[i].key2 == key2 && allKey[i].key3 == key3)
return 1;
return 0;
}
/******************************************************************************************************
Description 清空所有对象
Prototype void Clear();
Input Param 无
Output Param 无
Return Value 无
********************************************************************************************************/
void Clear(void)
{
/*在这里实现功能*/
allKey.clear();
return;
}
分享到:
相关推荐
华为干部任职资格管理 华为笔试题大全(史上最齐全) 华为的营销人员培训教材 华为内训教材-成功的项目管理 华为时间管理培训PPT 华为项目经理经典培训158页 华为新员工入职180天详细培训计划 华为研发类员工培训体系 ...
华为手机文件管理器 大小:4.34MB 华为手机文件管理器,是华为公司为华为手机用户精心打造的一款好用、易用的资源管理共享类安卓应用软件。支持中文、英文、日语、俄语等42国语言,体贴的分类让您可以快速找到图片...
华为项目管理办法
华为 成功项目管理华为 成功项目管理华为 成功项目管理
华为数据安全管理实践
企业干部管理华为干部管理学习
华为PBC绩效管理手册.pdf
华为流程管理实践,内部交流
华为的客户关系管理状况.pdf华为的客户关系管理状况.pdf华为的客户关系管理状况.pdf华为的客户关系管理状况.pdf华为的客户关系管理状况.pdf
最新版华为考试练习题库
华为存储初始管理信息及初始化、重置管理密码方法。 适用于华为OceanStor 2000, 2000F, 5000, 5000F, 6000, 6000F V3等型号存储
华为OD一些华为OD考试的练习题和真题.zip华为OD一些华为OD考试的练习题和真题.zip华为OD一些华为OD考试的练习题和真题.zip华为OD一些华为OD考试的练习题和真题.zip华为OD一些华为OD考试的练习题和真题.zip华为OD一些...
华为任职资格和员工能力管理(最全面版本) 华为任职资格全套(HR版) 华为内训绝密资料:绩效管理与绩效考核 华为绩效管理与绩效考核制度 PPT干货:华为企业文化与成功之道 华为成功背后的经营与管理理念 华为公司的...
华为研发质量管理
华为管理变革.pdf
华为Oceanstor-S2600-管理手册 介绍华为华为Oceanstor-S2600
华为供应商质量管理体系考察报告(全).pdf华为供应商质量管理体系考察报告(全).pdf华为供应商质量管理体系考察报告(全).pdf华为供应商质量管理体系考察报告(全).pdf华为供应商质量管理体系考察报告(全).pdf华为供应商...
(战略管理)华为公司战略分析.pdf(战略管理)华为公司战略分析.pdf(战略管理)华为公司战略分析.pdf(战略管理)华为公司战略分析.pdf(战略管理)华为公司战略分析.pdf(战略管理)华为公司战略分析.pdf(战略管理)华为公司...
华为服务器服务工程师的培训教材,其中针对华为服务器BMC管理模块的配置及使用做了详细的介绍。
华为流程管理体系 华为流程管理体系 华为流程管理体系 华为流程管理体系 华为流程管理体系