资源描述:
《计算机软件技术基础实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《计算机软件基础实验报告》实验一:一元多项式的相加一:实验的目的与要求1:熟悉单链表的一些操作;2:掌握采用链衣结构实现一元多项式的相加的算法。二:实验任务1:分别建立两个单链表來表示两个多项式;2:对单链表进行插入、删除、操作;3:对一元多项式的相加并输出相加结果。三:实验方案(程序)#includetypedefstructlinklist{intexp,coef;structlinklist*next;}node;node*ha,*hb;voidbuildfnode*&head){intx,y,i;
2、node*p,*q;head=newnode;p=head;for(i=l;i<10000;i++){cin>>x»y;cout«endl;if((x!=0)
3、
4、(y!=0)){q=p;p->exp=x;p->coef=y;p->next二newnode;p=p・>next;}else{q->next=NULL;deletep;break;}}}voiddisplay(node*&head){node*p;p=head;while(p!=NULL){cout<exp«,,/,,«p->coef«endl;p二p->nex
5、t;}}voiddel(node*&head){node*p,*q;q=head;p二head;while((q->exp!=4)11(q->coef!=6)){P二q;q=q->next;}p->next=q->next;}voidcha(node*&head){node*p/*q/*s;p=head;q=head;while((q->exp!=5)11(q->coef!=(-6))){p=q;q=q・>next;}s=newnode;s->exp=4;s->coef=8;p->next=s;s・>next=q;}voidji
6、a(node*&headl,node*&head2){node*p,*q,*uz*pre;intx;p=headl->next;q=head2・>next;pre=headl;while((p!=NULL)&&(q!=NULL)){if(p->expexp){pre=p;p=p-〉next;}elseif(p->exp==q->exp){x=p->coef+q->coef;if(x!=0){p->coef=x;pre=p;}else{pre->next=p->next;deletep;}p=pre->next;u=q;q
7、=q->next;deleteu;}else{u二q・>next;q->next二p;pre->next=q;pre=q;q=u;}}if(p==NULL)pre->next=q;deletehb;}voidmain(){cout«"创建一元多项式ha"«endl;build(ha)cout«"输出ha"«endl;display(ha);cout«endl;del(ha);cout«H输出删除结点后的haH«endl;display(ha);cout«endl;cout«"创建—“元多项式hb"«endl;build(hb);
8、cout«"输出hb"«endl;display(hb);cout«endl;cha(hb);cout«"输出插入结点后的hbH«endl;display(hb);cout«endl;jia(ha,hb);cout«"对ha^hb求和输出求和结果"«endl;display(ha);输出结果:创建-一元多项式ha05134651300输出ha0,51,34,65,13输出删除节点后的ha0,51,35,13创建一元多项式hb135七8700输出hb1,35,-68,7输入插入节点后的hb1,34,85,-68,7对ha、hb求和
9、输出求和结果0,51,34,85,78,7实验二二叉树的遍历一:实验目的与要求1:熟悉二叉树的遍历;2:掌握对二叉树的遍丿力的算法。二:实验任务1:建立二叉树;2:对其先序、中序、后序遍历三:实验方案(程序)#includetypedefstructtreenode{charx;structtreenode*lchild,*rchild;}JD;JD*tree;voidcreatef){JD*Q[20];intfront,rear;charch;JD*s;tree=NULL;front=l;rear=0;
10、cin»ch;while(ch!='#'){s=NULL;if(ch!='@')s=newJD;s->x=ch;s->lchild=NULL;s->rchild=NULL;}rear++;Q[rear]=s;if(rear==l)tree=s;else{if(s