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

作业社区

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

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

得分 100
讨论题

枝wenz_fpJNR0 的学生作业:

1 #ifndef _LINKLISTHEAD_H__ 2 #define __LINKLISTHEAD_H__ 3 4 #include 5 #include 6 #include 7 8 typedef int datatype_t; 9 typedef struct node 10 { 11 datatype_t data; 12 struct node *next; 13 }linknode_t; 14 15 extern linknode_t *create_empty_linklist(); 16 extern void insert_order_linklist(linknode_t *head,datatype_t data); 17 extern void printf_data_linklist(linknode_t *head); 18 extern int is_empty_linklist(linknode_t *head); 19 extern int delete_linklist(linknode_t *head,datatype_t data); 20 #endif 1 #include"linklisthead.h" 2 3 linknode_t *create_empty_linklist() 4 { 5 //为头节点在堆区分配空间,用指针head保存 6 linknode_t *head=NULL;//头节点的指针域为NULL 7 head=(linknode_t *)malloc(sizeof(linknode_t)); 8 if(NULL==head) 9 { 10 printf("malloc is fail!\n"); 11 return NULL; 12 } 13 //指针head初始化 14 memset(head,0,sizeof(linknode_t)); 15 16 return head; 17 } 18 19 void insert_order_linklist(linknode_t *head,datatype_t data) 20 { 21 //为新节点分配空间 22 linknode_t *temp= NULL; 23 temp=(linknode_t *)malloc(sizeof(linknode_t)); 24 //将data数据放在temp->data中 25 temp->data=data; 26 //新建指针p来代替head进行遍历,头指针head不动 27 linknode_t *p=head; 28 while(p->next !=NULL&&datanext->data) 29 { 30 p=p->next; 31 } 32 temp->next=p->next; 33 p->next = temp; 34 return ; 35 } 36 void printf_data_linklist(linknode_t *head) 37 { 38 linknode_t *p=head; 39 while(p->next!=NULL) 40 { 41 printf("%d ",p->next->data); 42 p=p->next; 43 } 44 printf("\n"); 45 return ; 46 } 47 int is_empty_linklist(linknode_t *head) 48 { 49 return head->next!=NULL?1:0; 50 } 51 int delete_linklist(linknode_t *head,datatype_t data) 52 { 53 linknode_t *p=NULL; 54 linknode_t *q=NULL; 55 int flag=0; 56 if(!is_empty_linklist(head)) 57 { 58 return -1; 59 } 60 p=head; 61 while(p->next!=NULL) 62 { 63 if(p->next->data==data) 64 { 65 q=p->next; 66 p->next=q->next; 67 free(q); 68 q=NULL; 69 flag=1; 70 } 71 else 72 { 73 p = p->next; 74 } 75 } 76 if(flag==0) 77 { 78 return -2; 79 }else{ 80 printf("delete %d is successful!\n",data); 81 return 0; 82 } 83 } 1 #include"linklisthead.h" 2 #define n 9 3 int main(int argc, const char *argv[]) 4 { 5 linknode_t *p=NULL; 6 int i=0,ret=0; 7 datatype_t data; 8 p=create_empty_linklist(); 9 printf("please input %d data : ",n); 10 for(i=0;i

微信客服

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

帮助反馈 APP下载

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

公众号

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