当前位置: 首页 > news >正文

刷赞网站推广免费软件查备案网站

刷赞网站推广免费软件,查备案网站,什么是网站目录结构,网站运营实训报告总结问题: C 因项目需求,需要将0~2的32次方这个区间的数字保存到内存当中(内存大小为4G),并且可以实现对任意一个数字的增删。(先叙述设计思路,再写岀代码) 解答 设计思路代码实现说明 为了在有限的内存(4GB)中存储和操作 …

问题: C++ 因项目需求,需要将0~2的32次方这个区间的数字保存到内存当中(内存大小为4G),并且可以实现对任意一个数字的增删。(先叙述设计思路,再写岀代码)

解答

  • 设计思路
  • 代码实现
  • 说明

为了在有限的内存(4GB)中存储和操作 0 到 2^32-1 之间的所有数字,我们需要考虑数据结构和存储策略。由于32位整数的范围很大(4,294,967,296 个可能的数字),我们需要一个高效的方式来存储和操作这些数字。在这种情况下,位图(bitmap)是一个合适的选择。

设计思路

  1. 位图(Bitmap)

    • 使用位图来表示数字的存在与否,每一个位(bit)对应一个数字。
    • 位图的大小需要 2^32 bits(约 512MB),因为每个数字占用1 bit。
  2. 内存分配

    • 4GB内存足够容纳整个位图。
    • 位图可以使用std::vector<uint8_t>来表示,每个uint8_t包含8个bit。
  3. 增删操作

    • 增加数字时,将对应位置的bit设置为1。
    • 删除数字时,将对应位置的bit设置为0。
  4. 辅助函数

    • 设置位函数:设置特定位置的bit为1。
    • 清除位函数:设置特定位置的bit为0。
    • 查询位函数:检查特定位置的bit是0还是1。

代码实现

#include <iostream>
#include <vector>
#include <cstdint>class Bitmap {
public:Bitmap(uint64_t size) {bitmap.resize((size + 7) / 8); // 每8个bit为1个byte}// 添加数字void add(uint32_t num) {bitmap[num / 8] |= (1 << (num % 8));}// 删除数字void remove(uint32_t num) {bitmap[num / 8] &= ~(1 << (num % 8));}// 检查数字是否存在bool contains(uint32_t num) const {return bitmap[num / 8] & (1 << (num % 8));}private:std::vector<uint8_t> bitmap;
};int main() 
{Bitmap bitmap(1ULL << 32); // 创建一个包含 2^32 位的位图// 测试添加和删除数字uint32_t num = 123456789;bitmap.add(num);std::cout << "Contains " << num << "? " << (bitmap.contains(num) ? "Yes" : "No") << std::endl;bitmap.remove(num);std::cout << "Contains " << num << "? " << (bitmap.contains(num) ? "Yes" : "No") << std::endl;return 0;
}

说明

  1. Bitmap类

    • bitmap使用std::vector<uint8_t>存储位图数据。
    • add方法将对应的bit设置为1。
    • remove方法将对应的bit设置为0。
    • contains方法检查对应的bit是否为1。
  2. main函数

    • 创建一个Bitmap对象,大小为2^32位。
    • 测试添加和删除数字操作。

这种方法利用位图的高效性和位操作的快速性,在有限的内存中实现对大量数据的存储和操作。

http://www.yayakq.cn/news/976273/

相关文章:

  • 网站建设公司电话咨询设计图片logo免费
  • 济南建设网站 概况5 网站建设的基本步骤是
  • 网站开发找工作wordpress安装分享插件下载
  • 基于lamp网站建设实例做医疗器械网站怎么找高清大图
  • 做网站好不好网站建设公司推荐
  • 宁夏做网站找谁上海都有哪些公司
  • 企业网站设计方式有哪些仿站网站建设
  • 网站建设询价报告力天装饰口碑怎么样
  • 网站加速器怎么开quick chat wordpress
  • 网站建设需要工作计划电子商务网站建设实训
  • 住房和城乡建设部网站中国建造师网优秀的图片设计网站
  • 北京网站建设公司内江手机版传奇发布网站
  • 铁岭免费移动网站建设vs2012网站开发环境
  • 长沙门户网站南昌城乡住房建设厅网站
  • 怎么做app网站wordpress翻页图片效果
  • 网站建设免费的服务器阿里云网站空间购买
  • 个人网站开发多少钱做网站的找哪个
  • 简述网站建设在作用建设网站软件
  • 网站建设要哪些工作青县住房和城乡建设局网站
  • 温州建设局网站首页网络营销与直播电商是做什么的
  • 一个网站做网站地图的目的怎样写营销策划方案
  • 珠海做网站制作solusvm做网站
  • 网站宣传标语吕梁推广型网站开发
  • 开一个网站建设公司一个页面的网站
  • 有哪些网站下载ppt是免费的华侨城网站开发
  • wordpress 淘宝客网站模板网站 后台 安装
  • 定制网站 多少钱女的和男的做那个视频网站
  • 服装类的网站建设百度线上推广
  • 做企业网站不好混黄冈网站推广厂家
  • 哈尔滨专业做网站公司宝安网站设计流程