预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

本科实验报告课程名称:数据结构实验项目:线性表树图查找排序实验地点:专业班级:学号:学生姓名:指导教师:年月日实验名称实验一线性表实验目的和要求本次实习的主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结构和链式存储结构上的实现,提高分析和解决问题的能力。要求仔细阅读并理解下列例题,上机通过,并观察其结果,然后独立完成后面的实习题。实验内容1.设顺序表A中的数据元素递增有序,试写一程序,将x插入到顺序表的适当位置上,使该表仍然有序。2.用单链表ha存储多项式A(x)=a0+a1x1+a2x2+…+anxn(其中aI为非零系数),用单链表hb存储多项式B(x)=b0+b1x1+b2x2+…+bmxm(其中bj为非零系数),要求计算C(x)=A(x)+B(x),结果存到单链表hc中。试写出程序。3.设有n个人围坐在一个圆桌周围,现从第s个人开始报数,数到第m的人出列,然后从出列的下一个人重新开始报数,数到m的人又出列,如此重复,直到所有的人全部出列为止。Josephus问题是:对于任意给定的n,m,s,求出按出列次序得到的n个人员的顺序表。主要仪器设备台式或笔记本计算机实验记录(可分栏或加页)#include<stdio.h>#include<stdlib.h>#include<malloc.h>structnode{charinfo;structnode*llink,*rlink;};typedefstructnodeNODE;NODE*creat(){charx;NODE*p;scanf("%c",&x);printf("%c",x);if(x!='.'){p=(NODE*)malloc(sizeof(NODE));p->info=x;p->llink=creat();p->rlink=creat();}elsep=NULL;returnp;}voidcountleaf(NODE*t,int&count){if(t){if((!t->llink)&&(!t->rlink))count++;countleaf(t->llink,count);countleaf(t->rlink,count);}}intmain(){inte=0;NODE*T;printf("qingshuruerchashu");T=creat();printf("\n");countleaf(T,e);printf("%d\n",e);system("PAUSE");}实验结果:#include<stdio.h>#include<malloc.h>typedefstructdxs{inta;structdxs*next;}Dxs,*Dxss;voidStructure(Dxsshead,intn);voidShow(Dxsshead);voidAdd(Dxsshead1,Dxsshead2,Dxsshead3);voidfrees(Dxsshead);voidmain(){Dxssha,hb,hc;intn;ha=(Dxss)malloc(sizeof(Dxs));hb=(Dxss)malloc(sizeof(Dxs));hc=(Dxss)malloc(sizeof(Dxs));printf("请输入多项式1的项数\n");scanf("%d",&n);Structure(ha,n);printf("请输入多项式2的项数\n");scanf("%d",&n);Structure(hb,n);Add(ha,hb,hc);printf("多项式HC的式子是\n");Show(hc);frees(ha);frees(hb);frees(hc);printf("\n\n");}voidStructure(Dxsshead,intn){Dxssp,q;inta;printf("请输入要录入系统的多项式的系数,从次数较小的开始\n");p=head;do{scanf("%d",&a);q=(Dxss)malloc(sizeof(Dxs));q->a=a;p->next=q;q->next=NULL;p=q;}while(--n);}voidShow(Dxsshead){intm=0;Dxssp;p=head->next;while(p!=NULL){printf("%d*X^%d",p->a,m++);p=p->next;if(p!=NULL)printf("+");}printf("n");}voidAdd(Dxsshead1,Dxsshead2,Dxsshead3){Dxssp,q,l,m;p=head1->next;q=head2->next;l=head3;while((p!=NULL)&&(q!=NULL)){m=(Dxss)malloc(sizeof(