贪心Prim算法生成树问题C实现代码
发布时间:2020-12-16 07:47:57 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #include stdio.h #include stdlib.h #define STACK_INIT_SIZE 20 #define STACKINCREMENT 10 typedef char ElemType; typedef struct{ ElemType *bas
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 #include <stdio.h> #include <stdlib.h> #define STACK_INIT_SIZE 20 #define STACKINCREMENT 10 typedef char ElemType; typedef struct{ ElemType *base; ElemType *top; int stacksize; }sqStack; /*初始化栈*/ void initStack(sqStack *s) { /*内存中开辟一段连续空间作为栈空间,首地址赋值给s->base*/ s->base = (ElemType *)malloc(STACK_INIT_SIZE * sizeof(ElemType)); if(!s->base) exit(0); /*分配空间失败*/ s->top = s->base; /*最开始,栈顶就是栈底*/ s->stacksize = STACK_INIT_SIZE; /*最大容量为STACK_INIT_SIZE */ } /*入栈操作,将e压入栈中*/ void Push(sqStack *s,ElemType e){ if(s->top - s->base >= s->stacksize){ /*栈满,追加空间*/ s->base = (ElemType *)realloc(s->base,(s->stacksize + STACKINCREMENT)*sizeof(ElemType)); if(!s->base) exit(0); /*存储分配失败*/ s->top = s->base + s->stacksize; s->stacksize = s->stacksize + STACKINCREMENT; /*设置栈的最大容量*/ } *(s->top) = e; /*放入数据*/ s->top++; } /*出栈操作,用e将栈顶元素返回*/ void Pop(sqStack *s,ElemType *e){ if(s->top == s->base) return; *e = *--(s->top); } /*计算堆栈s当前的长度*/ int StackLen(sqStack s){ return (s.top - s.base) ; } int match(char e,char c) { if(e=='('&&c==')') return 1; if(e=='['&&c==']') return 1; return 0; } void main() { sqStack s; char c,e; initStack(&s); scanf("%c",&c); while(c!='#') { if(!StackLen(s)) Push(&s,c); else { Pop(&s,&e); if(!match(e,c)) { Push(&s,e); Push(&s,c); } } scanf("%c",&c); } if(!StackLen(s)) printf("The brackets are matchedn"); else printf("The brackets are not matchedn"); } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用Open Flash Chart(OFC)制作图表(Struts2处理)
- BAM部署失败 - 未能加载”AdomdClient”或它的某一个依赖项
- MPMoviePlayerViewController或MPMoviePlayerController播放
- c# – 如何序列化System.Net.IPAddress属性中包含的类?
- JSON.stringify(),JSON.parse(),toJSON()
- 使用C#Push的推送通知Sharp库在生产服务器上不起作用
- c# – filterContext.Cancel(ASP.NET MVC)发生了什么
- reactos操作系统实现(114)
- c#-4.0 – Nunit 2.6.2 Suite运行两次而不是一次
- c – 为什么编译器推迟std :: list deallocation?