随笔 - 3  文章 - 2  trackbacks - 0
<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

文章档案

相册

ACE资料

搜索

  •  

最新评论

阅读排行榜

评论排行榜

#include <iostream>
#include <Windows.h>
#include <algorithm>

#define SIZE_NODE 4
#define MAX_COUNT 10

BYTE g_szBuff[SIZE_NODE*MAX_COUNT];
UINT32 g_nCount;

void Insert(UINT32 number);
void Remove(UINT32 number);
bool Find(UINT32 number);

using namespace std;
int main(int ,char *[])
{
 memset(g_szBuff,0,SIZE_NODE*MAX_COUNT);
 g_nCount=0;
 Insert(5);
 Insert(8);
 Insert(2);
 Insert(2);
 Insert(3);
 Insert(6);
}

void Insert(UINT32 number)
{
 // 找到一个合适的插入地址
 UINT32 * pBegin =(UINT32 *)g_szBuff;
 UINT32 * pEnd =(UINT32 *)(g_szBuff+g_nCount*SIZE_NODE);
 UINT32 * pInsert =lower_bound(pBegin,pEnd,number);

 if (pInsert != pEnd)
 {
  if (*pInsert == number)
  {
   cout<<"已经有此结点!"<<endl;
   return ;
  }
  memmove(pInsert+1,pInsert,(pEnd-pInsert)*sizeof(UINT32));
 }
 *pInsert=number;
 g_nCount++;
}
void Remove(UINT32 number)
{
 // 找到一个合适的插入地址
 UINT32 * pBegin =(UINT32 *)g_szBuff;
 UINT32 * pEnd =(UINT32 *)(g_szBuff+g_nCount*SIZE_NODE);
 UINT32 * pInsert =lower_bound(pBegin,pEnd,number);

 if (pInsert != pEnd)
 {
  if (*pInsert == number)
  {
   cout<<"已经有此结点!"<<endl;
   return ;
  }
  memmove(pInsert+1,pInsert,(pEnd-pInsert)*sizeof(UINT32));
 }
 g_nCount--;
}
bool Find(UINT32 number)
{
 return true;
}

posted on 2007-01-17 21:34 Sword.Hell blog 阅读(224) 评论(0)  编辑 收藏 引用 所属分类: 杂项

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理