数据结构C语言版的status initstack(s),里面的status是什么啊??

作者&投稿:御燕 (若有异议请与网页底部的电邮联系)
数据结构 C语言版,《栈的实现》~

#include "head.h"#define STACK_INIT_SIZE 100#define STACKINCREMENT 10typedef int SElemType;typedef struct{ SElemType *base; SElemType *top; int stacksize;}SqStack; Status InitStack(SqStack &S){ S.base=new SElemType[STACK_INIT_SIZE]; if(!S.base) return OVERFLOW; S.top=S.base; S.stacksize=STACK_INIT_SIZE; return OK;}Status DestroyStack(SqStack &S){ S.top=NULL; S.base=NULL; delete[] S.base; S.stacksize=0; return OK;}int StackEmpty(SqStack s){ if(s.top==s.base) return 1; else return 0;}Status GetTop(SqStack &s,SElemType &e){ if(s.top==s.base) return ERROR; e=*(s.top-1); return OK;}int StackLength(SqStack s){ return s.top-s.base;}Status ClearStack(SqStack &S){ S.top=S.base; return OK;}Status Push(SqStack &s,SElemType e){ if(s.top-s.base>=s.stacksize) return OVERFLOW; *s.top++=e;return OK;}Status Pop(SqStack &s,SElemType &e){ if(s.top==s.base) return ERROR; e=*--s.top; return OK;}Status StackTraverse(SqStack s,Status(*visit)(SElemType c))//这个函数最好不要用,因为它已经破坏了栈的特性{ while(s.top>s.base) visit(*s.base++); cout>N; while(N) { Push(S,N%8); N=N/8; 转换为八进制的数 } while(!StackEmpty(S)) { Pop(S,e); cout<<e; } cout<<endl;

&在这里不是取址,它代表引用。表示它后面的变量要回带数据的。编程序时这块你要注意这个变量要带回数据的,你可以考虑用指针做变量或者设置成全局变量等。

在使用status之前,有类型定义
typedef int status;
也就是说status实际上就是整型,只是使用标记status可读性好,一看就知道是个状态,用于表示函数的状态。一般来讲,还会有以下这些宏定义:
#define OK 1
#define ERROR 0
#define OVERFOLW -1
等等,用于表示函数的返回状态。
例如:
Status InitStack (SqStack &S){
S.base = new SElemType[STACK_INIT_SIZE];
if (!S.base) exit (OVERFLOW); //存储分配失败
S.top = S.base;
S.stacksize = STACK_INIT_SIZE;
return OK;
}

status 一定是之前有过类型定义的,数据结构中都是用类c语言,而且通用的类型定义在前言部分就定义好了

因为status是放在函数名之前的,也就是该函数的返回类型的声明,函数中有return OK 的语句,看到OK你就有疑问OK是什么类型呢?哪来的OK?
这个OK 就是status 类型的是事先定义的,


数据结构(C语言)题:循环单链表L中,指针P所指结点为尾结点的条件是...
如果存在空头结点:p->next head ->next 如果不存在空头结点:p->next head 判断空链表的条件是:head==head->next;rear==rear->next;

据的音序音节组词部首结构笔数是什么?
澄是多音字 拼音:chéng,dèng 简体部首:氵 左右结构 解释:[chéng]水静而清:~莹。~酒(淡酒)。~汰。~澈。~湛。~廓。~清。~碧。~净。~静。~明。[dèng]让液体里的杂质沉下去:~清。~沙。~泥浆。

c语言结构体定义和使用是什么?
C语言结构体定义:结构体是一种构造数据类型(也称复杂数据类型),由若干不同类型的变量(数据)组成。每个变量都是结构体的成员(member),每个成员可以是基本数据类型,也可以是构造类型。结构变量的使用:结构是一个新的数据类型, 因此结构变量也可以象其它类型的变量一样赋值、 运算,不同的是结构...

408数据结构考点:B树的删除操作
B树的删除操作是数据结构领域中需要重点掌握的考点,旨在理解并掌握B树的动态调整机制。操作大致分为两步:第一步是删除,第二步是调整,以确保B树的性质得到维护。本节将深入解析B树删除操作的步骤、情况以及具体实例,帮助读者更直观地理解这一复杂操作。删除操作步骤:在《数据结构(C语言版)》中,B树...

2021计算机考研408科目有哪些?
计算机学科专业基础综合试卷满分150分;考试时间180分钟;试卷内容结构:数据结构45分,计算机组成原理45分,操作系统35分,计算机网络25分;试卷题型结构:单项选择题,80分(40小题,每小题2分);综合题,70分;(2)计算机考研复习资料 数据结构:《数据结构C语言版》严蔚敏;计算机组成原理:《计算机组成原理(...

系统体系结构的信息系统体系结构
选择和设计合理的体系结构模式甚至比算法设计和数据结构设计更重要。 单用户体系结构单用户信息系统是早期最简单的信息系统,整个信息系统运行在一台计算机上,由一个用户占用全部资源,不同用户之间不共享和交换数据。C\/S体系结构C\/S(Client\/Server)结构,即客户机和服务器结构。这种体系结构模式是以数据库服务器为中心...

C语言结构体定义
结构体的定义如下所示,struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。在一般情况下,tag、member-list、variable-list这3部分至少要出现2个。结构体的成员可以包含其他结构体,也可以包含指向自己结构体类型的指针,而...

c语言switch是什么意思
Switch语句是编程世界中的一个重要构造,尤其在C语言中扮演着关键角色。它是一种条件控制结构,用于根据不同的条件执行不同的代码块。当你需要根据某个变量的值来决定执行哪一段代码时,Switch就大显身手了。它通常与case标签、break和default关键字紧密配合,通过逐个检查case后的常量或表达式,找到匹配项...

c语言的算法有哪些
查找算法:在大量数据中查找特定元素时,需要用到查找算法。C语言中常用的查找算法包括线性查找、二分查找等。线性查找适用于无序数据,而二分查找则适用于有序数据,且数据规模较大时效率更高。数据结构相关算法:数据结构如数组、链表、栈、队列等在C语言编程中广泛应用,针对这些数据结构也有相应的算法...

c语言如何提高程序效率
方法1:(利用比较法)方法2:(利用起泡法)方法3:(利用函数的模块化设计)

安庆市17696901357: 数据结构 C语言 栈 Status Pop(SqStack &S,SElemType &e) -
掌怕益坦: &与它前面的类型SElemType一起把变量e定义为一种引用类型的变量,引用类型是C++相较于C语言新增加的语言特性,具有与指针类似的作用.把一个变量定义为引用类型的方法与定义为指针类型的方法也类似,把*改成&就行了.比如: //全局变量 int n=1; void f1(int n) {n=2; } void f2(int *n) {*n=3; } void f3(int &n) {n=4; } f1(n); f2(&n); //调用参数为引用类型的函数时,直接传递实参名作参数就行了 f3(n); 函数f2和函数f3的调用都会改变全局变量n的值.

安庆市17696901357: 数据结构c语言版当函数返回值为函数结果状态代码时用status定义函数类型,什么是结果状态代码 -
掌怕益坦: 实际上,在自定义中有typedef int Status ;也就是说Status是一个整数类型,这种类型的变量的值是反映函数结果状态的,它可能是OK,ERROR,等,而在宏定义中OK的值为1,ERROR的值为0.

安庆市17696901357: 《数据结构(C语言版)》之“串的模式匹配算法” -
掌怕益坦: # include <string.h> # include <stdio.h> # include <stdlib.h> # define OK 1 # define ERROR 0 typedef int Status; //串的定长顺序存储结构 # define MAX_STR_LEN 40 typedef char SString[MAX_STR_LEN + 1];//0号单元存放串的长度 Status ...

安庆市17696901357: 数据结构中的status是怎么用的? -
掌怕益坦: 我想你大可不必为这些东西而烦恼.既然int就是status,那这两个用哪一个有什么区别呢?他不是#define OK 1 #define ERROR 0吗?那你为什么就不知道用,bool f(){return true;return false;}呢?你能写出代码就是对的,写不出来,格式再好都...

安庆市17696901357: 数据结构中status 是什么意思? -
掌怕益坦: Status 的英文意思是状态.这里的Status是一个结构或变量类型.Status ,status Linklist_L(Linklist &L,int i,...) 的函数类型是Status,即函数调用结果要送返状态值,例如成功失败.

安庆市17696901357: 自学完C后,就学数据结构(C语言版的)里面的一个链表的例子里面有的个status的用法有点疑惑,望高手解答~~ -
掌怕益坦: 1..下面还有还有代码,我就不打了, 想问下在 ListInsert 函数中是 返回值 OK 或者ERROR 给 i 吗?>>是赋值给i 是不是少打一部分啊,那个OK ,ERROR 应该有宏定义啊,在主函数中的 status i 语句中的 status 的作用是否等价于 bool 布尔型,是...

安庆市17696901357: 数据结构中的status应该怎么理解啊是函数返回值类型吗,如果是,status表示什么类型 -
掌怕益坦:[答案] 按楼上的说法这个status属于C语言里的别名(aliase)语法编译程序时,编译器会把这个status解析成int

安庆市17696901357: status在C语言中的作用是? -
掌怕益坦: 你是不是在看书的时候看到的 status类型啊? 如果是的话,建议查一下该书前面的内容 像我学数据结构的书有此语句 typedef int status; 就是用status来代替int类型,方便教学而已 所以见到status就是int类型

安庆市17696901357: 数据结构中的Status什么意思?? -
掌怕益坦: 数据结构中的Status是一个结构或变量类型.Status ,status Linklist_L(Linklist &L,int i,...) 的函数类型是Status,即函数调用结果要送返状态值,例如成功失败.typedef int status 用status表示int类型 人们喜欢这样做是因为使程序更容易明白,因为用int的时候你不知道他是干嘛的,但是用status时你就知道他是用来表示状态的.再例如: typedef int width; typedef int height; 那么用的时候就可以 width x; height y;这样更容易知道变量的意义.

安庆市17696901357: 数据结构C语言:Status ListDelete(SqList *L,int i,int *e)这个函数怎么调用 -
掌怕益坦: ListDelete(&L,i,&e); 前提是 要有 SqList L int i 和 int e;

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网