为了账号安全,请及时绑定邮箱和手机立即绑定

作业社区

探索学习新天地,共享知识资源!

0 提交作业
0 布置作业
0 满分作业
得分 100
讨论题

慕前端3254562 的学生作业:

1 #include “seqstack.h" 2 3 int main() 4 { 5 char t[] = {‘a’,‘n’,‘i’,‘h’,‘c’,’ ‘,‘e’,‘v’,‘o’,‘l’,’ ',‘I’}; 6 int i = 0; 7 seqstack_t*s = NULL; 8 //申请空间并将首地址给s 9 s = create_empty_seqstack(); 10 //当栈没有满时,插入数据 11 while(!is_full_seqstack(s)) 12 { 13 push_seqstack(s,t[i++]); 14 } 15 printf(“top : %c\t”,get_top_seqstack(s)); 16 printf(“pop : %c\n”,pop_seqstack(s)); 17 //栈不为空时,出栈并输出 18 while(!is_empty_seqstack(s)) 19 { 20 printf(”%c\t",pop_seqstack(s)); 21 } 22 printf("\n"); 23 return 0; 24 } 1 #include "seqstack.h" 2 3 //1.堆区申请一个栈的空间,返回栈的首地址 4 seqstack_t create_empty_seqstack() 5 { 6 seqstack_t s = NULL; 7 s = (seqstack_t)malloc(sizeof(seqstack_t)); 8 if(NULL == s) 9 { 10 printf(“malloc is fail\n”); 11 return NULL; 12 } 13 memset(s,0,sizeof(seqstack_t)); 14 s->top = -1; 15 return s; 16 } 17 //2.入栈,先移动top,再存放数据 18 void push_seqstack(seqstack_t s,data_t data) 19 { 20 s->top++; 21 s->buf[s->top] = data; 22 return ; 23 } 24 //3.出栈,先取出数据,再移动top; 25 data_t pop_seqstack(seqstack_t s) 26 { 27 data_t data = s->buf[s->top]; 28 s->top–; 29 return data; 30 } 31 //4.判断是否是空栈 32 int is_empty_seqstack(seqstack_ts) 33 { 34 return s->top== -1 ? 1:0; 35 } 36 //5.判断是否是满栈 37 int is_full_seqstack(seqstack_ts) 38 { 39 return s->top == MAX -1?1:0; 40 } 41 //6.输出栈顶元素的值 42 data_t get_top_seqstack(seqstack_ts) 43 { 44 return s->buf[s->top]; 45 } seqstack.h 1 #ifndef SEQSTACK_H 2 #define SEQSTACK_H 3 4 #include 5 #include 6 #include 7 8 #define MAX 12 9 typedef char data_t; 10 typedef struct 11 { 12 data_t buf[MAX]; 13 int top; 14 }seqstack_t; 15 //函数声明 16 extern data_t get_top_seqstack(seqstack_ts); 17 extern int is_full_seqstack(seqstack_ts); 18 extern int is_empty_seqstack(seqstack_t*s); 19 extern data_t pop_seqstack(seqstack_t *s); 20 extern void push_seqstack(seqstack_t *s,data_t data); 21 extern seqstack_t *create_empty_seqstack(); 22 #endif

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号