博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[华为机试练习题]57.对象管理器
阅读量:6316 次
发布时间:2019-06-22

本文共 2730 字,大约阅读时间需要 9 分钟。

题目

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

代码

/*---------------------------------------*   日期:2015-07-05*   作者:SJF0115*   题目:对象管理器*   来源:华为机试练习题-----------------------------------------*/#include 
#include "ObjMgt.h"#include
using namespace std;struct Object{ unsigned int key1; unsigned int key2; unsigned int key3; Object(unsigned int a,unsigned int b,unsigned int c){ key1 = a; key2 = b; key3 = c; } Object(){}};vector
container;/*------------------------------------------------------------------------------功能:增加单个对象输入:key1 外部关键字 KEY1 key2 外部关键字KEY2key3 外部关键字KEY3输出:无返回: -1 :失败(对象已经存在或者其它异常) 0 :成功-------------------------------------------------------------------------------*/int AddObject (unsigned int key1, unsigned int key2, unsigned int key3){ int isExits = IsObjectExist(key1,key2,key3); // 对象已经存在 if(isExits){ return -1; }//if Object o(key1,key2,key3); container.push_back(o); 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){ Object o; vector::iterator ite = container.begin(); while(ite != container.end()){ o = *ite; if((o.key1 == key1 || key1 == 0xFFFFFFFF) && (o.key2 == key2 || key2 == 0xFFFFFFFF) && (o.key3 == key3 || key3 == 0xFFFFFFFF)){ ite = container.erase(ite); }//if else{ ++ite; }//else }//while return ;}/*-----------------------------------------------------------------------------------功能:查询单个对象是否存在输入: key1 外部关键字 KEY1 key2 外部关键字 KEY2 key3 外部关键字 KEY3输出:无返回: 0:不存在 1:存在-----------------------------------------------------------------------------------*/int IsObjectExist (unsigned int key1, unsigned int key2, unsigned int key3){ int size = container.size(); Object o; for(int i = 0;i < size;++i){ o = container[i]; if(o.key1 == key1 && o.key2 == key2 && o.key3 == key3){ return 1; }//if }//for return 0;}/*----------------------------------------------------------------------------------Description 清空所有对象Prototype void Clear();Input Param 无Output Param 无Return Value 无-----------------------------------------------------------------------------------*/void Clear(void){ container.clear(); return;}
你可能感兴趣的文章
[USB-Blaster] Error (209040): Can't access JTAG chain
查看>>
防HTTP慢速攻击的nginx安全配置
查看>>
Spring Boot2.0+中,自定义配置类扩展springMVC的功能
查看>>
参与博客编辑器改版,我的礼物 感谢51cto
查看>>
JavaWeb笔记——JSTL标签
查看>>
一些实用性的总结与纠正
查看>>
Kubernetes概念
查看>>
一个小代码,欢迎大佬的意见,求指正
查看>>
Spring.Net+WCF实现分布式事务
查看>>
swoole异步任务task处理慢请求简单实例
查看>>
oracle数据泵导入分区表统计信息报错(四)
查看>>
spring技术内幕读书笔记之IoC容器的学习
查看>>
细说多线程(五) —— CLR线程池的I/O线程
查看>>
Hadoop文件系统详解-----(一)
查看>>
我的友情链接
查看>>
多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2010年完善数据设计、代码实现】...
查看>>
自动生成四则运算题目
查看>>
数据库设计中的14个技巧
查看>>
Android学习系列(5)--App布局初探之简单模型
查看>>
git回退到某个历史版本
查看>>