阅读下列说明和C代码,将应填入 (n) 处的字句写在对应栏内。[说明]栈(Stack

题型:填空题

问题:

阅读下列说明和C代码,将应填入 (n) 处的字句写在对应栏内。

[说明]

栈(Stack)结构是计算机语言实现中的一种重要数据结构。对于任意栈,进行插入和删除操作的一端称为栈顶(Stack Top),而另一端称为栈底(Stack Bottom)。栈的基本操作包括:创建栈(NewStack)、判断栈是否为空(IsEmpty)、判断栈是否已满(IsFull)、获取栈顶数据(Top)、压栈/入栈(Push)、弹栈/出栈(Pop)。

当设计栈的存储结构时,可以采取多种方式。其中,采用链式存储结构实现的栈中各数据项不必连续存储(如图21-9所示)。

以下C代码采用链式存储结构实现一个整数栈操作。

[C代码]

typedef struct List

int data; //栈数据

struct List* next; //上次入栈的数据地址

List;

typedef struct Stack

List* pTop; //当前栈顶指针

Stack;

Stack* NewStack()return(Stack*)calloc(1,sizeof(Stack));

int IsEmpty(Stack* S)//判断栈S是否为空栈

if( (1) )return 1;

return 0;

int Top(Stack* S)//获取栈顶数据。若栈为空,则返回机器可表示的最小整数

if(IsEmpty(S))return INT_MIN;

return (2)

void Push(Stack* S,int theData)//将数据theData压栈

List* newNode;

newNode=(List*)calloc(1,sizeof(List));

newNode->data=theData;

newNode->next=S->pTop;

S->pTop= (3)

void Pop(Stack* S) (//弹栈

List* lastTop;

if(IsEmpty(S))return;

lastTop=S->pTop;

S->pTop= (4)

free(lastTop);

#define MD(a)a<<2

int main()

int i;

Stack* myStack;

myStack=NewStack();

Push(myStack,MD(1));

Push(myStack,MD(2));

Pop(myStack);

Push(myStack,MD(3)+1);

while(!IsEmpty(myStack))

printf("%d",Top(myStack));

Pop(myStack);

return 0;

以上程序运行时的输出结果为: (5)

(1)处填()。

考点:计算机软件水平考试中级软件设计师软件设计师
题型:填空题

铅对机体影响的早期变化是

A.卟啉代谢障碍

B.疲乏无力

C.铅面容

D.腹绞痛

E.腕下垂

题型:填空题

钢的热处理常见的缺陷是硬度不够不匀或硬度偏高、过热和过烧、氧化和脱碳变形和开裂等。

题型:填空题

计算某金属的空位浓度比室温(300K)空位浓度大1000倍时的温度。已知Cu的空位形成能为1.7×1019J/mol。

题型:填空题

大量存款人的挤兑行为可能会导致商业银行面临()危机。

A.流动性

B.操作

C.法律

D.战略

题型:填空题

对女职工的特殊劳动保护有()

A.探亲期

B.休假期

C.经期、孕期

更多题库