struct elem
{
int coef;
int exp;
elem *next;
};
//
class LinkList
{
public:
LinkList( ); //建ç«åªæ头ç»ç¹ç空é¾è¡¨
LinkList(elem a[], int n); //建ç«æn个å
ç´ çåé¾è¡¨
friend void printlist(LinkList &);
friend void Add(elem *polya,elem *polyb);
elem *first;
};
#include "LinkList.h"
//建ç«ç©ºåé¾è¡¨*********************************************************************************
LinkList:: LinkList( )
{
first=new elem; first->next=NULL;
}
//å建ç»å®æ°ç»çåé¾è¡¨*************************************************************************
LinkList::LinkList(elem a[],int n)
{
first=new elem; //çæ头ç»ç¹
elem *r,*s;
r=first; //å°¾æéåå§å
for (int i=0; i<n; i++)
{
s=new elem; s->coef=a[i].coef;s->exp=a[i].exp; //为æ¯ä¸ªæ°ç»å
ç´ å»ºç«ä¸ä¸ªç»ç¹
r->next=s; r=s; //æå
¥å°ç»ç«¯ç»ç¹ä¹å
}
r->next=NULL; //åé¾è¡¨å»ºç«å®æ¯ï¼å°ç»ç«¯ç»ç¹çæéå置空
}
//ä¸å
å¤é¡¹å¼ç¸å ***********************************************************************************
void Add(elem *polya,elem *polyb)
{
elem *p,*q,*pre,*temp;
int sum;
p=polya->next;
q=polyb->next;
pre=polya;
while(p!=NULL&&q!=NULL)
{
if(p->exp<q->exp)
{
pre->next=p;pre=pre->next;
p=p->next;
}
else if(p->exp==q->exp)
{
sum=p->coef+q->coef;
if(sum!=0)
{
p->coef=sum;
pre->next=p;pre=pre->next;
p=p->next;temp=q;q=q->next;delete temp;
}
else
{temp=p->next;delete p;p=temp;
temp=q->next;delete q;q=temp;
}
}
else
{pre->next=q;pre=pre->next;
q=q->next;
}
}
if(p!=NULL)
pre->next=p;
else
pre->next=q;
}
//æå°åé¾è¡¨ä»¥ax^b代表****************************************************************************
void printlist(LinkList &A)
{ elem *p;
p=A.first->next;
while (p)
{
cout<<p->coef<<"X^"<<p->exp;
p=p->next;
if(p)cout<<"+";
}
cout<<endl;
};
//LinkListMain.cpp
#include "iostream.h" //å¼ç¨è¾å
¥è¾åºæµåºå½æ°ç头æ件
#include "LinkList.cpp" //å¼ç¨åé¾è¡¨çç±»
void main()
{cout<<"*****************ä¸å
å¤é¡¹å¼ç¸å ******************"<<endl;
cout<<" !!!!2x^3表示 2ä¹ä»¥xçä¸æ¬¡æ¹~!!!!"<<endl;
cout<<"**************************************************"<<endl;
cout<<"Welcome to use!"<<endl;
cout<<"nPlease input the ploya include coef && exp:"<<endl;
int m,n;
cout<<"è¾å
¥Aç项æ°;"<<endl;//建ç«ä¸å
å¤é¡¹å¼A
cin>>m;
elem a[10];
for(int i=0;i<m;i++) {cout<<"coef:";cin>>a[i].coef;cout<<"exp:";cin>>a[i].exp;}
LinkList A(a,m);
printlist(A); //è¾åºä¸å
å¤é¡¹å¼A
cout<<"è¾å
¥Bç项æ°;"<<endl;//建ç«ä¸å
å¤é¡¹å¼B
cin>>n;
elem b[10];
for(int j=0;j<n;j++) {cout<<"coef:";cin>>b[j].coef;cout<<"exp:";cin>>b[j].exp;}
LinkList B(b,n);
printlist(B); //è¾åºä¸å
å¤é¡¹å¼B
cout<<"å¤é¡¹å¼ç¸å å为"<<endl;
Add(A.first,B.first);
printlist(A);
}
温馨提示:内容为网友见解,仅供参考
数据结构课程设计内容简介
《数据结构课程设计》是一本专注于培养计算机专业学生实践能力的教程,它以实例驱动的方式,让学生在课程设计中深入理解和掌握数据结构的基本原理。通过八个章节的系统讲解,涵盖了数据库设计概述、线性表、栈与队列、字符串处理、多维数组、广义表、树和图等核心概念的实际应用。本书强调的是理论与实践的结...
数据结构课程设计的图书目录
第1章 数据结构课程设计概述1.1 数据结构简介1.2 课程设计目标和特点1.3 编写说明1.4 课程设计实例的标准格式第2章 线性表的应用2.1 存储结构与基本运算的算法2.2 集合的交、并运算2.3 学生成绩管理2.4 多项式求导2.5 约瑟夫环问题2.6 数据库管理系统第3章 栈的应用3.1 存储结构...
数据结构课程设计:十字链表的应用
交谈中请勿轻信汇款、中奖消息,勿轻易拨打陌生电话。-vE丨 12:40:17 ifndef Matrix_H define Matrix_H include "List.h"class MatNode { public:int data;int row, col;union { Node<MatNode> *down; List<MatNode> *downrow; };MatNode(int value = 0, Node<MatNode> *p = NULL, int...
求一数据结构课程设计心得体会。
这个时候就是数据库站出来的时候啦,于是我又装上了sql server2000,以前学asp的时候用的是access,那个时候只是照着人家做,理论是什么也不是很清楚。通过一个暑假的学习,基本搞清楚了理论方面的东西,具体怎么用也不是很清楚。但是这为这学期的课程设计打下了铺垫。来到学校后,随着这学期的数据库课...
数据结构课程设计是什么
1、 算法设计的思想 建立图类,建立相关成员函数。最后在主函数中实现。具体成员函数的实现请参看源程序。2、 主要的数据结构设计说明 图邻接矩阵、邻接表的建立。图的深度优先遍历、拓扑排序、顶点之间的最短路径。3、 程序的主要模板template <class Type> class Graph 4、 程序的主要函数 Graph、...
征集《数据结构》课程设计的课题
如果嫌一个题目涉及的内容太少 可以采用题目组的方式 如:表达式和迷宫一组 各种排序方法一组 最优二叉树图的计算遍历 栈与广义表 等等 可以分组来让学生选择。说实话找个好题目真的好难~~~而且抄袭现象严重~~~ 最后拿到手的基本是一个代码 有几个给你变变形 那就是好学生~~~网上有大量的例题...
数据结构课程设计报告(一元多项式的计算)
编程实现一元多项式的加法计算。【基本要求】能用链表实现一元多项式的加法计算,并能打印出计算结果。【所需知识】(1)基本编程方法和程序设计知识。(2)链表的理解和运算与运用。【所用算法】遍历算法和递归算法。【操作平台】Visual C++ include<stdio.h> include<graphics.h> define MAX 100 type...
求数据结构课程设计——制作浏览器插件(要求使用c语言),在线等,急...
实现插件功能:使用C语言编写插件的代码,根据设计的架构,实现插件的具体功能。涉及到的技术可以包括网络通信、HTML解析、数据结构的操作等。测试和调试:对插件进行测试,确保插件在不同浏览器环境下正常运行,并修复可能出现的问题和错误。文档撰写:编写插件的详细文档,包括使用说明、API文档、代码注释等,...
数据结构的课程设计报告要怎么写啊?
试设计一个程序求出出列顺序。班级: 姓名: 学号: 完成日期:一、需求分析 1. 本演示程序中,利用单向循环链表存储结构存储约瑟夫环数据(即n个人的编号和密码)。2. 演示程序以用户和计算机的对话方式执行,即在计算机终端上显示"提示信息"之后,由用户在键盘上输入演示程序中需要输入的数据,运算...
急!!!数据结构课程设计
急!!!数据结构课程设计 对任意给定的图(顶点数不小于20,边数不少于30,图的类型可以是有向图、无向图、有向网、无向网),能够输入图的顶点和边(或弧)的信息,并存储到相应存储结构(邻接矩阵、邻接表、... 对任意给定的图(顶点数不小于20,边数不少于30,图的类型可以是有向图、无向图、有向网、无向网)...