题目
设链式栈中结点的结构为(data,link),且top是指向栈顶的指针。若想在链式栈的栈顶插入一个由指针s所指的结点,则应执行的操作是()。 A.top->link=s; B.s->link=top->link;top->link=s; C.s->link=top;top=s; D.s->link=top;top=top->link;
设链式栈中结点的结构为(data,link),且top是指向栈顶的指针。若想在链式栈的栈顶插入一个由指针s所指的结点,则应执行的操作是()。
A.top->link=s;
B.s->link=top->link;top->link=s;
C.s->link=top;top=s;
D.s->link=top;top=top->link;
A.top->link=s;
B.s->link=top->link;top->link=s;
C.s->link=top;top=s;
D.s->link=top;top=top->link;
题目解答
答案
C
解析
步骤 1:理解链式栈的结构
链式栈是一种使用链表实现的栈,其中每个结点包含数据(data)和指向下一个结点的指针(link)。栈顶由指针top指向。
步骤 2:分析插入操作
在链式栈的栈顶插入一个新结点,意味着新结点将成为新的栈顶。因此,新结点的link应指向当前栈顶结点,而top应指向新结点。
步骤 3:选择正确的操作
选项A:top->link=s;这将使当前栈顶结点的link指向新结点,但top仍指向原来的栈顶结点,不符合插入操作。
选项B:s->link=top->link;top->link=s;这将使新结点的link指向当前栈顶结点的下一个结点,然后将当前栈顶结点的link指向新结点,但top仍指向原来的栈顶结点,不符合插入操作。
选项C:s->link=top;top=s;这将使新结点的link指向当前栈顶结点,然后将top指向新结点,符合插入操作。
选项D:s->link=top;top=top->link;这将使新结点的link指向当前栈顶结点,然后将top指向当前栈顶结点的下一个结点,不符合插入操作。
链式栈是一种使用链表实现的栈,其中每个结点包含数据(data)和指向下一个结点的指针(link)。栈顶由指针top指向。
步骤 2:分析插入操作
在链式栈的栈顶插入一个新结点,意味着新结点将成为新的栈顶。因此,新结点的link应指向当前栈顶结点,而top应指向新结点。
步骤 3:选择正确的操作
选项A:top->link=s;这将使当前栈顶结点的link指向新结点,但top仍指向原来的栈顶结点,不符合插入操作。
选项B:s->link=top->link;top->link=s;这将使新结点的link指向当前栈顶结点的下一个结点,然后将当前栈顶结点的link指向新结点,但top仍指向原来的栈顶结点,不符合插入操作。
选项C:s->link=top;top=s;这将使新结点的link指向当前栈顶结点,然后将top指向新结点,符合插入操作。
选项D:s->link=top;top=top->link;这将使新结点的link指向当前栈顶结点,然后将top指向当前栈顶结点的下一个结点,不符合插入操作。