不理解一个双向链表中查找第i个节点在链表中的位置的函数
DblNode *Locate ( DblList first, int i, int d ) {
if ( i < 0 ) return NULL;
if ( i == 0 ) return first;
DblNode *p = ( d == 0 ) ? first->lLink : first->rLink;
for ( int j = 1; j < i; j++ )
if ( p == first ) break;
else p = ( d == 0 ) ? p->lLink : p->rLink;
//d = 0前趋方向, d = 1后继方向
return ( p != first ) ? p : NULL;
}
我想知道这里传递过来的d 是什么
因为是双向链表,d 是标志位,0 或 1 ,0 表示往前趋方向查找,1 表示往后继方向查找。
这是一个循环双链表