资源描述:
《数据结构实验和实训教程程序代码.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数据结构实验与实训教程程序代码(清华高职高职第3版)预备实验复数ADT及其实现复数ADT实现的源程序#include#include/*存储表示,结构体类型的定义*/typedefstruct{floatx;/*实部子域*/floaty;/*虚部的实系数子域*/}comp;/*全局变量的说明*/compa,b,a1,b1;intz;/*子函数的原型声明*/voidcreat(comp*c);voidoutputc(compa);compadd(compk,comph);/*主函数*/main(){creat(&a);outputc(a);creat(&
2、b);outputc(b);a1=add(a,b);outputc(a1);}/*main*//*创建一个复数*/voidcreat(comp*c){floatc1,c2;printf("输入实部realx=?");scanf("%f",&c1);printf("输入虚部xvpuy=?");scanf("%f",&c2);(*c).x=c1;c->y=c2;}/*creat*//*输出一个复数*/voidoutputc(compa){printf("%f+%fi",a.x,a.y);}/*求两个复数相加之和*/compadd(compk,comph){compl;l.x=k.x
3、+h.x;l.y=k.y+h.y;return(l);}/*add*/实验1线性表的基本操作程序1:题1线性表基本操作函数#include#include#includestructLinearList/*定义线性表结构*/{int*list;/*存线性表元素*/intsize;/*存线性表长度*/intMaxSize;/*存list数组元素个数*/};typedefstructLinearListLIST;voidInitList(LIST*L,intms)/*初始化线性表*/{if((L->list=1)==NULL){print
4、f("内存申请错误!");exit(1);}2L->MaxSize=ms;}intInsertList(LIST*L,intitem,intrc)/*item:记录值rc:插入位置*/{inti;if(3)/*线性表已满*/return-1;if(rc<0)/*插入位置为0*/rc=0;if(4)rc=L->size;for(i=L->size-1;i>=rc;i--)/*将线性表元素后移*/5L->list[rc]=item;L->size++;return0;}voidOutputList(LIST*L)/*输出线性表元素*/{inti;for(i=0;6i++)printf("%
5、d",L->list[i]);printf("");}intFindList(LIST*L,intitem)/*返回>=0为元素位置-1没找到*/{inti;for(i=0;isize;i++)if(7)/*找到相同的元素,返回位置*/returni;return-1;/*没找到*/}intDeleteList1(LIST*L,intitem)/*删除指定元素值的线性表记录,返回>=0:删除成功*/{inti,n;for(i=0;isize;i++)if(item==L->list[i])/*找到相同的元素*/break;if(isize){for(n=i;n<
6、L->size-1;n++)L->list[n]=L->list[n+1];L->size--;returni;}return-1;}intDeleteList2(LISTL,intrc)/*删除指定位置的线性表记录*/{8/*编写删除指定位置的线性表记录子程序*/}程序2:题2voidmain(){LISTLL;inti,r;printf("listaddr=%ptsize=%dtMaxSize=%d",LL.list,LL.size,LL.MaxSize);InitList(&LL,100);printf("listaddr=%ptsize=%dtMaxSize=%d"
7、,LL.list,LL.size,LL.MaxSize);while(1){printf("请输入元素值,输入0结束插入操作:");fflush(stdin);/*清空标准输入缓冲区*/scanf("%d",&i);if(1)break;printf("请输入插入位置:");scanf("%d",&r);InsertList(2);printf("线性表为:");3}while(1){printf("请输入查找元素值,输