数据结构初始化问题求解


#include<stdio.h>
#define MAXSIZE 1000

 typedef struct
{
SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
int i;
scanf("%d",&i);
if(i==1)
{
status InitStack(SqStack %S)
s.base=new SElemType[MAXSIZE];
if(!S.base)
exit(no);
S.top=S.base;
S.stacksize=MAXSIZE;
return OK;
}

teacher要求上机,要求做一个能够将顺序栈初始化的程序,麻烦大家看看还有哪里需要补充(我是转专业的学生,最基本的c语音都还在自学中,而且我们没教C++,我就用语音写的)

  • 这篇博客: C++数据结构||为我院设计一个简单的教师信息管理程序。对我院教师进行管理,包括插入、删除、查找、排序等功能。教师信息包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。中的 2.2 Teacher类和链表类定义 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • class Teacher
    {
    public:
    	Teacher();
    	~Teacher() {};
    	void setdata();	//设置教师信息
    	sTeacher getdata();	//获得教师信息
    	void setnext(Teacher*m_next);	//将m_next指向next域
    	void showdata();	//显示教师信息
    	Teacher *getnext();	//获得下一个节点地址指针
    	string getname();		//获取单个教师的某项信息,下同
    	string getsex();
    	string getbirdata();	
    	string getworkdata();
    	string getlevel();
    	string getpost();
    	string getadr();
    	string gettel();
    	void setname(string pname);	//设置单个教师的某项信息,下同
    	void setsex(string psex);
    	void setbirdata(string pbirdata);
    	void setworkdata(string pworkdata);
    	void setlevel(string plevel);
    	void setpost(string ppost);
    	void setadr(string padr);
    	void settel(string ptel);
    	int input(ifstream & is);	//文件操作
    	void output(ofstream &os);
    private:
    	Teacher  *next;
    	struct sTeacher m_Teacher;
    };
    class ClinkList
    {
    private:
    	Teacher *head;
    	Teacher Node;
    public:
    	ClinkList();
    	~ClinkList();
    	void CreatList();
    	Teacher*GetNode(int index);	//获得第index个节点的指针
    	void Insert(int index);	//在第index个位置插入一个教师信息
    	void Delete(int index);	//删除第index个位置的教师信息
    	int lenth();	//求链表长度(教师个数)
    	void Ranking();	//对现有教师姓名进行字典从大到小排序
    	void ShowList();	//输出所有教师信息
    	void Seachbyname(string panme); //按对应信息查找教师信息,下同
    	void Seachbylevel(string plevel);
    	void Seachbypost(string ppost);
    	void Seachbytel(string ptel);
    	void Save(string filename);	//保存文件
    	void Load(string filename);	//读取文件
    };
    

该回答引用GPT:

#include<stdio.h>
#define MAXSIZE 1000

typedef struct
{
    SElemType *base;
    SElemType *top;
    int stacksize;
}SqStack;

int InitStack(SqStack *S)
{
    S->base = (SElemType *)malloc(MAXSIZE * sizeof(SElemType));
    if (!S->base)
        exit(NO);
    S->top = S->base;
    S->stacksize = MAXSIZE;
    return OK;
}

如还有疑问,可留言帮助解决。

int i;
前面加上一个 int main() {

status InitStack(SqStack %S)
这里也不对啊,一个函数写着写着怎么又出来一个函数

#include<iostream>
#define MAXSIZE 1000
 
typedef struct
{
    SElemType *base;
    SElemType *top;
    int stacksize;
}SqStack;
 
void InitStack(SqStack &S)
{
    S.base = new SElemType[MAXSIZE];
    if (!S.base)
        exit(0);
    S.top = S.base;
    S.stacksize = MAXSIZE;
}

int main()
{
    SqStack sq;
    InitStack(sq);
}