getidx.h
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 35 行
H
35 行
void *getidx( void const *p )
{
static unsigned long count;
struct X {
X*left;
X*right;
void const *p;
void *i;
};
static X *root;
X *c;
X **h;
h = &root;
c = root;
for(;;) {
if( c == NULL ) break;
if( c->p < p ) {
h = &(c->left);
} else if( c->p > p ) {
h = &(c->right);
} else {
return c->i;
}
c = *h;
}
c = new X;
c->left = NULL;
c->right = NULL;
c->p = p;
c->i = (void*) ++count;
*h = c;
return c->i;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?