考虑下面定义的函数f。
null
struct item { int data; struct item * next; }; int f( struct item *p) { return ( (p == NULL) || (p->next == NULL) || (( P->data <= p->next->data) && f(p->next)) ); } |
对于给定的链表p,函数f返回1当且仅当(GATE CS 2003)
(A) 并非列表中的所有元素都具有相同的数据值。 (B) 列表中的元素按数据值的非降序排序 (C) 列表中的元素按数据值的非递增顺序排序 (D) 都没有 答复: (B) 说明: 函数f()的工作原理如下 1) 如果链表为空,则返回1 2) 否则,如果链表只有一个元素,则返回1 3) 否则,如果节点->数据小于等于节点->下一步->数据,并且列表的其余部分保持相同的值,则返回1 4) 否则返回0 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END