logo - 刷刷题
下载APP
【简答题】

【说明】
栈(Stack)结构是计算机语言实现中的一种重要数据结构。对于任意栈,进行插入和删除操作的一端称为栈顶(Stock Top),而另一端称为栈底(Stock Bottom)。栈的基本操作包括:创建栈(NewStack)、判断栈是否为空(IsEmpty)、判断栈是否已满(IsFull)、获取栈顶数据(Top)、压栈/入栈(Push)、弹栈/出栈(Pop)。
当设计栈的存储结构时,可以采取多种方式。其中,采用链式存储结构实现的栈中各数据项不必连续存储(如下图所示)。


以下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)

参考答案:
参考解析:
.
刷刷题刷刷变学霸
举一反三

【单选题】堆是一种数据结构,______是堆。

A.
(10,50,80,30,60,20,15,18)
B.
(10,18,15,20,50,80,30,60)
C.
(10,15,18,50,80,30,60,20)
D.
(10,30,60,20,15,18,50,80)

【单选题】关于计算机语言,下面叙述不正确的是 。

A.
高级语言较低级语言更接近人们的语言
B.
高级语言、低级语言都是与计算机同时诞生的
C.
机器语言和汇编语言都属于低级语言
D.
Basic语言、Paseal语言和C语言都属于高级语言

【单选题】以下有关数据结构的叙述,正确的是 ( )

A.
线性表的线性存储结构优于链式存储结构
B.
二叉树的第i层上有2i-1个结点,深度为K的二叉树上有2k-1个结点
C.
二维数组是其数据元素为线性表的线性表
D.
栈的操作方式是先进先出

【单选题】计算机能够直接执行的计算机语言是

A.
汇编语言
B.
机器语言
C.
高级语言
D.
自然语言

【单选题】精馏的基本操作是()。

A.
每次部分汽化和每次全部冷凝
B.
每次全部汽化和每次全部冷凝
C.
每次全部汽化和每次部分冷凝
D.
每次部分汽化和每次部分冷凝

【单选题】下列基本操作中不正确的是

A.
低沸点溶剂如乙醚、乙醇加热时必须采用水浴加热。
B.
过滤大颗粒干燥剂时,可以在漏斗颈部放入少量棉花或玻璃毛以代替滤纸。
C.
减压过滤结束后,应先拔橡皮管,再关真空泵。
D.
萃取分液时,为了防止液体流速过快,上面的活塞应密闭。

【单选题】下列基本操作不正确的是(  )

A.
向燃着的酒精灯里添加酒精
B.
用火柴点燃酒精灯
C.
熄灭酒精灯时不能用嘴吹灭
D.
用酒精灯的外焰部分给物质加热

【多选题】计算机语言有( )等类别。

A.
汇编语言
B.
高级语言
C.
机器语言
D.
程序设计语言

【多选题】抽象数据类型ADTList的基本操作有( )。

A.
迭代下一位置NextPosition (L,pos)
B.
销毁线性表Destroy (L)
C.
创建空表Create ()
D.
两个线性表合并Merge()
相关题目:
【多选题】钳工其基本操作有
A.
划线
B.
锯削
C.
锉削
D.
孔加工
【单选题】堆是一种数据结构,______是堆。
A.
(10,50,80,30,60,20,15,18)
B.
(10,18,15,20,50,80,30,60)
C.
(10,15,18,50,80,30,60,20)
D.
(10,30,60,20,15,18,50,80)
【单选题】关于计算机语言,下面叙述不正确的是 。
A.
高级语言较低级语言更接近人们的语言
B.
高级语言、低级语言都是与计算机同时诞生的
C.
机器语言和汇编语言都属于低级语言
D.
Basic语言、Paseal语言和C语言都属于高级语言
【单选题】以下有关数据结构的叙述,正确的是 ( )
A.
线性表的线性存储结构优于链式存储结构
B.
二叉树的第i层上有2i-1个结点,深度为K的二叉树上有2k-1个结点
C.
二维数组是其数据元素为线性表的线性表
D.
栈的操作方式是先进先出
【单选题】计算机能够直接执行的计算机语言是
A.
汇编语言
B.
机器语言
C.
高级语言
D.
自然语言
【单选题】精馏的基本操作是()。
A.
每次部分汽化和每次全部冷凝
B.
每次全部汽化和每次全部冷凝
C.
每次全部汽化和每次部分冷凝
D.
每次部分汽化和每次部分冷凝
【单选题】下列基本操作中不正确的是
A.
低沸点溶剂如乙醚、乙醇加热时必须采用水浴加热。
B.
过滤大颗粒干燥剂时,可以在漏斗颈部放入少量棉花或玻璃毛以代替滤纸。
C.
减压过滤结束后,应先拔橡皮管,再关真空泵。
D.
萃取分液时,为了防止液体流速过快,上面的活塞应密闭。
【单选题】下列基本操作不正确的是(  )
A.
向燃着的酒精灯里添加酒精
B.
用火柴点燃酒精灯
C.
熄灭酒精灯时不能用嘴吹灭
D.
用酒精灯的外焰部分给物质加热
【多选题】计算机语言有( )等类别。
A.
汇编语言
B.
高级语言
C.
机器语言
D.
程序设计语言
【多选题】抽象数据类型ADTList的基本操作有( )。
A.
迭代下一位置NextPosition (L,pos)
B.
销毁线性表Destroy (L)
C.
创建空表Create ()
D.
两个线性表合并Merge()
【单选题】计算机能够直接执行的计算机语言是______。
A.
汇编语言
B.
机器语言
C.
高级语言
D.
自然语言