求高手相助啊 运行时出现错误 关闭

/*************************************顺序栈存储结构及常见操作************************************/
#ifndef _seqstack_h
#define _seqstack_h
#include <stdlib.h>//基本库函数
#include <stdio.h>
#define STACKMINSIZE 10//顺序栈存储空间长度的最小值
typedef int StackDT;
class SeqStack //顺序栈存储结构类型定义
{public:
StackDT* base;
int stacksize;
int top;
void StackInitialize(SeqStack ps,int nsize);//初始化
int StackLen(SeqStack s);//求栈长度
bool StackEmpty(SeqStack s);//判断栈是否为空
bool StackFull(SeqStack s);//判断栈是否为满
bool push(SeqStack ps,StackDT d);//入栈
bool pop(SeqStack ps,StackDT pd);//出栈
bool StackGetTop(SeqStack s,StackDT pd);//获取栈顶元素
bool StackPutTop(SeqStack s,StackDT d);//写栈顶元素
void StackClear(SeqStack ps);//清空栈
void StackDestroy(SeqStack s);//销毁栈
};
void SeqStack::StackInitialize(SeqStack ps,int nsize)//初始化
{
if (nsize<STACKMINSIZE)
nsize=STACKMINSIZE;
ps.stacksize=nsize;
ps.base=(StackDT*)malloc(ps.stacksize*sizeof(StackDT));
if (!ps.base)
exit(EXIT_FAILURE);
ps.top=-1;

}
int SeqStack::StackLen(SeqStack s)//求栈长度
{
return s.top+1;
}
bool SeqStack::StackEmpty(SeqStack s)//判断栈是否为空
{
return -1==s.top?true:false;
}
bool SeqStack::StackFull(SeqStack s)//判断栈是否为满
{
return s.stacksize-1<=s.top?true:false;
}
bool SeqStack::push(SeqStack ps,StackDT d)//入栈
{
bool flg=true;
if (StackFull(ps))
{flg=false;
}
else
{ps.base[++ps.top]=d;
}
return flg;
}
bool SeqStack::pop(SeqStack ps,StackDT pd)//出栈
{
bool flg=true;
if (StackEmpty(ps))
{flg=false;
}
else
{pd=ps.base[ps.top--];
}
return flg;
}
bool SeqStack::StackGetTop(SeqStack s,StackDT pd)//获取栈顶元素
{bool flg=true;
if (StackEmpty(s))
{flg=false;
}
else
{pd=s.base[s.top];
}
return flg;

}
bool SeqStack::StackPutTop(SeqStack s,StackDT d)//写栈顶元素
{
bool flg=true;
if (StackEmpty(s))
{flg=false;
}
else
{s.base[s.top]=d;
}
return flg;
}
void SeqStack::StackClear(SeqStack ps)//清空栈
{
ps.top=-1;
}
void SeqStack::StackDestroy(SeqStack s)//销毁栈
{
free(s.base);
}
#define N 10
void main()
{int i;
StackDT d,a[N]={0,1,2,3,4,5,6,7,8,9};
SeqStack stack;
stack.StackInitialize(stack,N);
printf("/npush:/n");
for(i=0;i<N;i++)
{
printf("%3d",a[i]);
stack.push(stack,a[i]);
}
printf("/nstack is %s",stack.StackFull(stack)? "full":"not full");

printf("stacklen=%d",stack.StackLen(stack));
printf("/npop:/n");
while (!stack.StackEmpty(stack))
{stack.pop(stack,d);
printf("%3d",d);
}
printf("/nstack is %s/n",stack.StackEmpty(stack)?"empty":"not empty");
stack.StackDestroy(stack);
}

#endif

响应动态冰蓄冷系统与需响应策略的优化研究(Matlab代码实现)内容概要:本文围绕需响应动态冰蓄冷系统及其优化策略展开研究,结合Matlab代码实现,探讨了在电力需侧管理背景下,冰蓄冷系统如何通过优化运行策略参与需响应,以实现削峰填谷、降低用电成本和提升能源利用效率的目标。研究内容包括系统建模、负荷预测、优化算法设计(如智能优化算法)以及多场景仿真验证,重点分析不同需响应机制下系统的经济性和运行特性,并通过Matlab编程实现模型解与结果可视化,为实际工程应用提供理论支持和技术路径。; 适合人群:具备一定电力系统、能源工程或自动化背景的研究生、科研人员及从事综合能源系统优化工作的工程师;熟悉Matlab编程且对需响应、储能优化等领域感兴趣的技术人员。; 使用场景及目标:①用于高校科研中关于冰蓄冷系统与需响应协同优化的课题研究;②支撑企业开展楼宇能源管理系统、智慧园区调度平台的设计与仿真;③为政策制定者评估需响应措施的有效性提供量化分析工具。; 阅读建议:建议读者结合文中Matlab代码逐段理解模型构建与算法实现过程,重点关注目标函数设定、约束条件处理及优化结果分析部分,同可拓展应用其他智能算法进行对比实验,加深对系统优化机制的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值