内容发布更新时间 : 2025/5/30 2:42:29星期一 下面是文章的全部内容请认真阅读。
free(p); q=q->next; }
} /*dellist_maxmin*/
8.设计一个将双链表逆置的算法invert.dblinklist(),其中头指针为head,结点数据域为data,两个指针域分别为prior和next。
将双链表逆置的算法invert_dblinklist的算法如下所示:
void invert_dblinklist( *head ) { /*将head指向的双链表逆置*/ dblinklist *p, *q; p=head; do { q=p->next; p->next=p->prior; p->prior=q; p=q; }while( p!=head )
} /*invert_dblinklist*/
linklist
习题三 一、选择题
l.一个栈的序列是:a,b,c,d,e,则栈的不可能输出的序列是(C)。
A.a,b,c,d,e B.d,e,c,b,a C.d,c,e,a,b D.e,d,c,b,a 2.若一个栈的输人序列是1,2,3,?,n,输出序列的第一个元素是n,则第k个输出元素是( C)。
A.k B.n-k-1 C.n-k+1 D.不确定 3.判定一个栈S(最多有n个元素)为空的条件是( B )。
A.S->top!=0 B.S->top= =0 C.S->top!=n D.S->top= =n 4.判定一个栈S(最多有n个元素)为满的条件是(D )。
A.S->top!=0 B.S->top= =0 C.S->top!=n D.S->top= =n
5.向一个栈顶指针为top的链栈中插人一个*S结点的时候,应当执行语句( B )。 A.top->next=S; B.S->next=top;top=S;
C.S->next=top->next;top->next=S;D.S->next=top;top=S->next;
6.向一个带头结点、栈顶指针为top的链栈中插人一个*S结点的时候,应当执行语句( C )。
A.top->next=S; B.S->next=top;top=S;
C.S->next=top->next;top->next=S; D.S->next=top;top=S->next; 7.判定一个队列Q(最多有n个元素)为空的条件是( C )。 A.Q->rear-Q->front= =n B.Q->rear-Q->front+1= =n C.Q->rear = = Q->front D.Q->rear +1= = Q->front 8.判定一个队列Q(最多有n个元素)为满的条件是(A)。
A.Q->rear-Q->front= =n B.Q->rear-Q->front+1= =n C.Q->rear = = Q->front D.Q->rear +1= = Q->front 9.判定一个循环队列Q(最多有n个元素)为空的条件是( A )。 A.Q-&g