没有搜到到结果?点击这里求解答/求资源。
【单选题】
两个指针P和Q,分别指向链表两个元素,P所指元素是Q所指元素前驱条件是( )。

P-next==Q-next
P-next==Q
Q-next==
P==Q
【单选题】
若有以下定义:structnode{intdata;structnode*next;}structnode*p;已建立如下图所示链表:┌──┬──┐┌──┬──┐┌──┬──┐p→│data│next┼→│data│next┼→...→│data│NULL│└──┴──┘└──┴──┘└──┴──┘指针p指向第一个结点,能输出链表所有结点数据成员data循环语句是()。

while(p!=NULL){printf("%d,",p-p++;}
while(p){printf("%d,",p.data);p=p-}
for(;p!=NULL;p++)printf("%d,",p
-for(;p;p=p-next)printf("%d,",(*p).data);
【单选题】
在双向循环链表中,在p所指结点之后插入s指针所指结点,其操作是( )。

p->next=s; s->prior=p; p->next->prior=s; s->next=p->next;
s->prior=p; s->next=p->next; p->next=s; p->next->prior=s;
p->next=s; p->next->prior=s; s->prior=p; s->next=p->next;
s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;
【判断题】
设有一个带头结点,头指针head单向链表p指向表中某一个结点,且有p-next= L,现要删除头结点,并使该单向链表构造成单向循环链表,通过操作head=head- p-next= head;。

正确
错误
【单选题】
若有定义:structnode{intdata;structnode*next;};已建立如下图所示链表:┌─┬─┐┌─┬─┐┌─┬─┐head→│2│┼→│4│┼→…→│28│┼→NULL└─┴─┘└─┴─┘└─┴─┘指针head指向链表结点,以下函数功能是()。voidfun(structnode*head){structnode*p=head;while(1){p=p-printf("%d",p-data);if(!p)break;}}

显示单向链表中第一个结点数据
显示单向链表中最后一个结点数据
显示单向链表所有数据
显示单向链表中除第一个结点所有数据
【判断题】
链表结点是NODE类型结构体变量,且有NODE *p;为了申请一个新结点,并由p指向结点,可用以下语句p=(*NODE)malloc(sizeof(NODE));

正确
错误
【单选题】
对一个栈顶指针top链栈进行进栈操作,P指向待进栈结点指针,把e值赋值给该结点数据域,然后使该结点进栈,执行( )。

A.p-data=e; p=top- top=topànext;
B.p-data=e;p-next=top;top=p;
C.p-data=e;top=p;
D.p-data=e;p-next=top- top =p;
【单选题】
在一个单链表中,p、q分别指向表中两个相邻结点,且q所指结点p所指结点直接后继,现要删除q所指结点,可用语句( )。

A.p=q-next
B.p-next=q
C.p-next=q-next
D.q-next=NULL
【单选题】
假定p指向二维数组int d[4][6]指针p类型( )。

int*
int**
int[6]
int(*)[6]
【判断题】
设有一个带头结点链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列指针和尾指针p指向要入队结点(该结点已被赋值),入队操作为rear-next=p; p = rear;

正确
错误