软件技术基础--上机实验三.doc

软件技术基础--上机实验三.doc

ID:49531939

大小:126.79 KB

页数:10页

时间:2020-03-02

软件技术基础--上机实验三.doc_第1页
软件技术基础--上机实验三.doc_第2页
软件技术基础--上机实验三.doc_第3页
软件技术基础--上机实验三.doc_第4页
软件技术基础--上机实验三.doc_第5页
资源描述:

《软件技术基础--上机实验三.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;i

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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。