数据结构试验报告.docxVIP

  • 6
  • 0
  • 约1.52万字
  • 约 54页
  • 2022-09-06 发布于湖北
  • 举报
姓名: 班级: 学号: 数据结构实验报告 一、线性表 实验一:顺序表的删除 (一)实验目的: 1.掌握使用 C++上机调试线性表的基本方法; 2.掌握线性表的基本操作:插入、删除、查找等运算在顺序存储结构 上的实现。 (二)实验内容: 实现一个线性表,对一个 n 不超过 1000 的线性表进行删除操作。 (三)实验程序: #includestdio.h #includestdlib.h typedef struct LNode{ int data; struct LNode *next; }LNode,*LinkList; int main() { int n,m; while(scanf(%d,n)!=EOF) { LinkList L=(LinkList)malloc(sizeof(LNode)); L-next=NULL; 1 数据结构实验报告 LinkList p=L,q; for(int i=1;i=n;i++) { q=(LinkList)malloc(sizeof(LNode)); scanf(%d,q-data); q-next=NULL; p-next=q; p=q; } scanf(%d,m); for(int j=1;j=m;j++) { int num; scanf(%d,num); p=L;int k;int e=-1; if(num=1 num=n){ for(k=1;knum;k++){ p=p-next; } q=p-next; p-next=q-next; e=q-data; 2 数据结构实验报告 free(q); } printf(%d\n,e); } } } 1.掌握使用 C++上机调试线性表的基本方法; 数据结构实验报告 2.掌握线性表的基本操作:插入、删除、查找等运算在链式存储结构 上的实现。 3.掌握基于链表的多项式相加的算法。 (二)实验内容: 通过有序对输入多项式的各个项,利用单链表存储该一元多项式,并 建立的 2 个存储一元多项式的单链表,然后完成 2 个一元多项式的相 加,并输出相加后的多项式。 (三)实验程序: #includestdio.h #includestdlib.h #includemalloc.h #includeconio.h typedef struct Lnode{ int cof; int expn; struct Lnode *next; }Lnode,*LinkList; void Creatpolyn(LinkList La,int m){ int i; LinkList p,q; La=(LinkList)malloc(sizeof(Lnode)); La-next=NULL; 4 数据结构实验报告 p=La; for(i=1;i=m;i++){ q=(LinkList)malloc(sizeof(Lnode)); q-next=NULL; scanf(%d %d,q-cof,q-expn); p-next=q; p=q;} } LinkList addpolyn(LinkList A,LinkList B) { LinkList pa,pb,pc,Lb,p1,p2; pc=Lb=A; pa=A-next; pb=B-next; while(pa pb){ if(pa-expn==pb-expn){ pa-cof=pa-cof+pb-cof; if(pa-cof!=0){ pc-next=pa; pc=pa; p2=pb; 5 数据结构实验报告 pa=pa-next; pb=pb-next; free(p2); } else{ p1=pa; p2=pb; pa=pa-next; pb=pb-next; free(p1); free(p2); } } else if(pa-expnpb-expn){ pc-next=pb; pc=pb; pb=pb-next; } else if(pb-expnpa-expn){ pc-next=pa; pc=pa; pa=pa-next; 6 数据结构实验报告 } } pc-next=pa?pa:pb; free(B); return(Lb); } void printfpolyn(LinkList p) { while(p-next!=NULL) { p=p-next; printf(%d %d\n,p-cof,p-expn); } } int main() { int n1,n2; LinkList A,B,C; scanf(%d,n1); Creatpolyn(A,n1); 7 数据结构实验报告 二、栈 实验三:括号匹配判断算法 8 数据结构实验报告 (二)实验内容: 假设在表达式中([]())或[(

文档评论(0)

1亿VIP精品文档

相关文档