数据结构 实现栈代码哪不对 , 找好久没找到

yulu27 yulu27 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
# include <stdio.h>
# include <malloc.h>
# include <stdlib.h>

typedef struct Node
{
int value;
struct Node * next;
}NODE , *PNODE;
typedef struct Stack
{
PNODE top;
PNODE bottom;
}STACK,*PSTACK;

void init(PSTACK);
void push(PSTACK , int);
bool pop(PSTACK , int *);
void traversal(PSTACK ps);
bool Empty(PSTACK);
int main()
{
int * value;
STACK s;
push(&s , 1);
push(&s , 2);
traversal(&s);
pop(&s , value); // 可能是这错了
traversal(&s);
return 0;
}

void init(PSTACK ps)
{
ps->top = (PNODE)malloc(sizeof(NODE));
if(ps->top == NULL)
{
printf("内存分配失败");
exit(-1);
}
else
{
ps->bottom = ps->top;
ps->top->next = NULL;
}
return;
}

bool Empty(PSTACK ps)
{
if(ps->top == ps->bottom)
{
return true;
}
else
{
return false;
}
}

void push(PSTACK ps , int value)
{
PNODE pNew = (PNODE)malloc(sizeof(NODE));
if(pNew == NULL)
{
printf("内存分配失败");
return;
}


pNew->value = value;
pNew->next = ps->top;
ps->top = pNew; // top 指向 new
return;
}

bool pop(PSTACK ps, int *value)
{
if(Empty(ps))
{
exit(-1);
}
PNODE p = ps->top;
*value = p->value;


ps->top = ps->top->next;
free(p);
p = NULL;
return true;

}

void traversal(PSTACK ps)
{
PNODE p = ps->top;

while(p != ps->bottom)
{
printf("%d " , p->value);
p = p->next;
}
printf("\n");
return ;
}
...全文

相关推荐

正交拉丁超立方(OLHC)分组与实验设计(DOE)评估的优化Python实现.rar

正交拉丁超立方(OLHC)分组与实验设计(DOE)评估的优化Python实现.rar

天天Matlab科研工作室

Java微服务如何拆解审计日志查询服务

标题:Java微服务如何拆解审计日志查询服务 内容概要:围绕缓存策略、任务调度、回压控制和审计追踪,拆解Java微服务如何拆解审计日志查询服务的实现细节。 xdronline.com xdrea.com 9g.xinmei6.com xinghaohuanbao.com m.xiker66.com

2601_97068614

港股十档行情tick数据涵盖逐笔成交与委托,记录每笔买卖价格、成交量及挂单明细 逐笔数据包含成交时间、价格、股数、成交方向,委托数据展示买一至买十、卖一至卖十的价格与数量

港股十档行情tick数据涵盖逐笔成交与委托,记录每笔买卖价格、成交量及挂单明细。逐笔数据包含成交时间、价格、股数、成交方向,委托数据展示买一至买十、卖一至卖十的价格与数量。分钟数据汇总每分钟开盘价、最高价、最低价、收盘价、成交量及成交额。历史行情覆盖近十五年,字段清晰完整,便于回溯分析。 数据源:CMES金融数据库

2401_89140926

MO-372A_PQFP-F6_I1p27-R3p8x4p48Z1p1-N5p5C1p24.stp

MO-372A_PQFP-F6_I1p27-R3p8x4p48Z1p1-N5p5C1p24.stp

std86021

光伏储能虚拟同步发电机VSG并网仿真模型(Similink仿真实现)

内容概要:本文介绍了一种光伏储能虚拟同步发电机(VSG)并网的Simulink仿真模型,旨在通过仿真手段实现新能源系统与电网的高效协同运行。该模型深度融合光伏发电与储能系统,借助虚拟同步发电机技术有效提升系统的惯性和阻尼特性,从而显著增强电网在高比例可再生能源接入背景下的稳定性。文中重点阐述了VSG在频率调节、电压支撑及动态响应等方面的优越性能,并提供了完整的仿真框架,支持研究人员进行控制策略优化、参数调整与系统性能验证,有助于推动智能电网与新能源并网技术的发展。; 适合人群:具备一定电力系统基础知识和Simulink仿真经验的科研人员、电气工程及相关专业的研究生或从事新能源并网技术研发的工程师。; 使用场景及目标:① 研究光伏储能系统并网的动态行为;② 设计与优化虚拟同步发电机的控制策略以提高电网稳定性;③ 验证新型控制算法在多时间尺度调度中的有效性;④ 教学演示新能源系统与电网互动的物理机制。; 阅读建议:建议读者结合提供的仿真模型与代码,深入理解VSG的工作原理,尝试修改控制参数以观察系统响应变化,并参考文中提及的Matlab代码实现方式,进一步开展个性化研究与创新设计。

荔枝科研社
评论 7
收藏 已收藏
分享
返回顶部
yulu27
C语言 70,040 成员 243,237 内容