65,209
社区成员
发帖
与我相关
我的任务
分享
[/quote]
map 的全部源代码都有的, 看它源代码就知道 “在背地里搞了些什么操作”.
其实它的实现也没什么秘密, 只是手动在去实现一遍实在没什么必要.
//有一个数组,存储的元素为1到10000000的任意数,在其中查找出一个重复的数字
#include <stdio.h>
int a[3]={1,10000000,10000000};
static unsigned char b[10000000/8+1];
int i;
void main() {
for (i=0;i<3;i++) {
if (b[a[i]/8]&(1<<(a[i]%8))) break;
else b[a[i]/8]|=(1<<(a[i]%8));
}
if (i<3) printf("%d\n",a[i]);
else printf("Can not find.\n");
}