欢迎来到天天文库
浏览记录
ID:49531939
大小:126.79 KB
页数:10页
时间:2020-03-02
《软件技术基础--上机实验三.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、姓名:吴振国学号:2011019190006上机实验三题目一:一、程序流程说明(1)创建一个链栈,(2)编写输出,进栈出站函数,(3)编写主函数二、程序代码#include#include#defineLENsizeof(node_type)typedefstructnode{intdata;structnode*next;}node_type;typedefstruct{node_type*top;intlength;}lstack_type;lstack_type*create_list(void){lstack_type*p;p=(lsta
2、ck_type*)malloc(sizeof(lstack_type));p->top=NULL;p->length=0;return(p);}voidprint(node_type*head){node_type*p;printf("Now,thoserecordsare:");p=head;if(head!=NULL){do{printf("%4d",p->data);p=p->next;}while(p!=NULL);}}intpush(lstack_type*lp,intx){node_type*p;p=(node_type*)malloc(LEN);if(p!=NULL
3、){p->data=x;p->next=lp->top;lp->top=p;lp->length++;return(1);}elsereturn(0);}intpop(lstack_type*lp){node_type*p;intx;if(lp->top==NULL){printf("stackisunderflow");return(0);}else{x=lp->top->data;p=lp->top;lp->top=lp->top->next;lp->length--;free(p);return(true);}}voidmain(){lstack_type*p1;inta=0,
4、b=0,m=0;p1=create_list();printf("inputthenumbers:");scanf("%d",&m);while(m!=0){push(p1,m);scanf("%d",&m);}print(p1->top);pop(p1);pop(p1);print(p1->top);}三:典型测试数据(输入):246943应输出(上机前自己分析的结果):439642出栈后642四:上机时遇到的问题:①不能输出解决办法:更改函数返回类型②编译出错解决办法:输入数据时“&”不要忘五:实际运行结果六、小结&体会链栈的使用很方便,比顺序栈更好操作。题目二:一、程序
5、流程说明(1)创建一个循环队列(2)编写出队列函数,入队列函数,和负数删除函数(3)编写主函数二、程序代码#include#defineN20typedefstruct{intdata[N];intfront,rear;}queue_type;voidcreate_list(queue_type*lp){inti,elem;lp->front=0;lp->rear=0;printf("pleaseinputdatasofthelist");lp->data[0]=NULL;for(i=1;i6、=-1)break;lp->data[i]=elem;lp->rear++;}}voidprintlist(queue_type*lp){inti,j=0;printf("Theserecordsare:");if(lp->rear<=0){printf("Nodata!");return;}elsefor(i=lp->front+1;i<=lp->rear;i++){printf("%4d",lp->data[i]);}}voidenqueue(queue_type*q,intx){q->rear=(q->rear+1)%N;q->data[q->rear]=x;}in7、tdequeue(queue_type*q){inti;i=q->front;q->front=(q->front+1)%N;/*printlist(q);*/return(q->data[i+1]);}voidaa(queue_type*lp){inti,l=lp->rear,j;printf("long=%4d",lp->rear);for(i=lp->data[lp->front+1];i<=l+1;i++){j=dequeue(lp);if(j>0
6、=-1)break;lp->data[i]=elem;lp->rear++;}}voidprintlist(queue_type*lp){inti,j=0;printf("Theserecordsare:");if(lp->rear<=0){printf("Nodata!");return;}elsefor(i=lp->front+1;i<=lp->rear;i++){printf("%4d",lp->data[i]);}}voidenqueue(queue_type*q,intx){q->rear=(q->rear+1)%N;q->data[q->rear]=x;}in
7、tdequeue(queue_type*q){inti;i=q->front;q->front=(q->front+1)%N;/*printlist(q);*/return(q->data[i+1]);}voidaa(queue_type*lp){inti,l=lp->rear,j;printf("long=%4d",lp->rear);for(i=lp->data[lp->front+1];i<=l+1;i++){j=dequeue(lp);if(j>0
此文档下载收益归作者所有