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

公司建设网站费用做那个科目高唐企业做网站推广

公司建设网站费用做那个科目,高唐企业做网站推广,php怎样做网站,wordpress怎么恢复默然设置1、概念介绍 在我们需要处理大量数据的时候,不能存储所有的数据,只能先处理先来的,然后将这个数据释放,再去处理下一个数据。 如果在一个线性的缓冲区中,那些已经被处理的数据的内存就会被浪费掉。因为后面的数据只能…

1、概念介绍

在我们需要处理大量数据的时候,不能存储所有的数据,只能先处理先来的,然后将这个数据释放,再去处理下一个数据。

如果在一个线性的缓冲区中,那些已经被处理的数据的内存就会被浪费掉。因为后面的数据只能往后面放,如过要将剩余的数据都往前移动一次,那么效率就会低下了。

我们可以使用环形缓冲区,将处理完成并且释放掉的内存再利用起来,这可以大大减轻我们的内存占用,提高我们的内存使用效率。

2、结合代码详细解释

(1)首先,定义一个128个int大小的数组,用于充当我们的环形缓冲区,

         定义r、w下标,分别为读写下标索引 

#define BUF_LEN 128
static int g_keys[BUF_LEN];
static int r, w;

(2)构造一个下标后移的宏函数,用于移动先前定义的r、w下标,

         % BUF_LEN,对最大容量取余可以实现“环形”的数据读写,当读或写下标进行到最末尾的时候能够通过取余最大容量来回归最初,操作前面释放的课用空间。

#define NEXT_POS(x) ((x+1) % BUF_LEN)

(3)当读下标和写下标相等的时候,表示当前缓冲区为空,就如下图所示。空的缓冲区可以进行写,但不能读,因为没数据可读。每当写入一个数据后,写下标w往后移动一下。

往后写了一个数据之后的偏移 ,移动到下一个要写的地方,这里用颜色代表有数据

static int is_key_buf_empty(void)
{return (r == w);
}static void put_key(int key)
{if (!is_key_buf_full()){g_keys[w] = key;w = NEXT_POS(w);}
}

(4)当写下标w的下一个下标等于读下标的时候,表示缓冲区满了,这时候需要将读下标r的数据处理掉(读掉、释放一个可写的空间厚),才可以进行写入。

 再往后写一格,如果不读的话,此时环形缓冲区就满了。

 

static int is_key_buf_full(void)
{return (r == NEXT_POS(w));
}
static int get_key(void)
{int key = 0;if (!is_key_buf_empty()){key = g_keys[r];r = NEXT_POS(r);}return key;
}

三、完整代码

#define BUF_LEN 128
static int g_keys[BUF_LEN];
static int r, w;#define NEXT_POS(x) ((x+1) % BUF_LEN)static int is_key_buf_empty(void)
{return (r == w);
}static int is_key_buf_full(void)
{return (r == NEXT_POS(w));
}static void put_key(int key)
{if (!is_key_buf_full()){g_keys[w] = key;w = NEXT_POS(w);}
}static int get_key(void)
{int key = 0;if (!is_key_buf_empty()){key = g_keys[r];r = NEXT_POS(r);}return key;
}

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

相关文章:

  • 如何让百度抓取网站企业门户网站模板 下载
  • 陕西省工程建设交易服务中心网站建卖手机网站
  • 公司外文网站制作wordpress教程 数据库
  • 温州做网站的公司wordpress打包ios app
  • 网站建设价格方案施工企业汛期应急预案
  • 广东企业网站建设公司phpcms做双语网站
  • 有源码如何做网站襄县网站建设
  • 在本地做的网站怎么修改域名广东建设行业信息网
  • 云购网站开发怎么建立免费的网站
  • 电商企业网站建设的一般要素有哪些6珠海网站制作哪家好
  • 南宁网站设计报价怎么做网站推广方案
  • 网站制作 网站建设电子毕业设计网站建设
  • c网站开发案例详解 pdf宿迁房价下跌最惨小区
  • 建房子找哪个网站设计广东外贸型网站建设
  • 盘锦做网站专家徐州小程序开发
  • 萝岗网站建设给公司做网站的费用入什么科目
  • wordpress网站静态页面生成网站备案有哪些费用
  • php做的网站缺点cms企业网站系统
  • 网站定制费用网站被攻击了怎么办
  • 永川做网站的公司怎么做网站的百度权重
  • 做网站用笔记本电脑阿里巴巴网站
  • 网站规划 时间阳江房地产信息网
  • 湘潭网站建设工作室app开发经费预算表
  • 汉滨区住房和城乡建设局网站怎样用自己的服务器做网站
  • 溧阳建设集团网站wordpress影视主题
  • 流媒体网站建设什么是软件外包公司
  • 个人推广网站邢台集团网站建设报价
  • 做网站 聊城wordpress 文章加图片
  • 网络查询网站哪些网站做的好看
  • 做网站管理员开会怎么演讲网站建设与制作视频教学