数据结构课程设计报告

发布 2022-10-05 02:29:28 阅读 4341

编号。课程设计。题目 1、一元稀疏多项式计算器

2、模拟浏览器操作程序

3、背包问题的求解

4、八皇后问题。

二级学院计算机科学与工程学院

专业计算机科学与技术

班级 2011级 37-3班

学生姓名xx

学号 xxxxxxxxxx

指导教师 xxxxx

评阅教师。时间。

1、一元稀疏多项式计算器。

实验内容】一元稀疏多项式计算器。

问题描述】设计一个一元稀疏多项式简单计算器。

需求分析】其基本功能包括:

1)输入并建立多项式;

2)输出多项式,输出形式为整数序列为:n,c1,e1,c2,e2,……cn,en,其中n是多项式的项数,ci,ei分别是第i项的系数和指数,序列按指数降序排序;

3)多项式a和b相减,建立多项a+b;

4)多项式a和b相减,建立多项式a-b;

5)计算多项式在x处的值;

6)计算器的**界面(选做);

概要设计】=adt=-

void input(jd *ha,jd *hb);

//输入两个多项式。

void sort(jd *h);

//用冒泡排序法对一个多项式进行降序排序。

void sum(jd *ha,jd *hb);

//多项式求和。

void minus(jd *ha,jd *hb);

//多项式相减。

void output(jd *h);

//输出多项式。

void operate(jd *ha,jd *hb);

//对多项式进行操作。

int qiuzhi(int x,jd *ha);

//计算多项式在x处的值。

void main();

主函数。存储结构】

typedef struct node定义多项式每一项*/

int ee为指数。

float cc为系数。

struct node *next; /next指向下一项。

dnode;

流程图】1. dnode *creat多项式的创建, 即输入两个多项式。

2. void sort(dnode *h采用冒泡法对链表每一项重新排序//

3. dnode *operate(dnode *a,dnode *b稀疏多项式计算//

4. float qiuzhi(int x,dnode *h) /求多项式在x处的值。

详细设计】源**如下:

#include<>

#include<>

#include<>

#define null 0

typedef struct node定义多项式每一项*/

int ee为指数。

float cc为系数。

struct node *next; /next指向下一项。

dnode;

dnode *creat用链表存放多项式*/

多项式的创建, 即输入两个多项式。

dnode *h,*p;

int e,i,nn为多项式的项数。

float cc为多项式的系数。

h=(dnode *)malloc(sizeof(dnode分配头节点。

h->next=null;

do当n为0或小于1时,则重新输入。

while(n<1);

for(i=1;i<=n;i++)输入各项的系数c和指数e

return h返回头结点。

void swap(dnode *p,dnode *q交换p,q指针所指的指数和系数*/

float m; /中间变量。

int n; /中间变量。

n=p->e; /交换操作。

p->e=q->e;

q->e=n;

m=p->c;

p->c=q->c;

q->c=m;

void sort(dnode *h采用冒泡法对链表每一项重新排序*/

dnode *pi,*pl,*p,*q;

p=h->nextp此时指向第一项。

while(p->next!=null)

p=p->next寻找尾结点。

pi=ppi指向最后一次交换的位置,初值为表尾。

while(pi!=h->next) /结点数大于1时。

pi=plpi指向前一个结点。

dnode *operate(dnode *a,dnode *b稀疏多项式计算*/

int sel;

float x;

dnode *p1,*p2,*p,*t; /t为结果链表的表头。

t=(dnode *)malloc(sizeof(dnode));

t->next=null;

printfn");

printf请选择运算方式n");

printf1、多项式相加n");

printf2、多项式相减n");

printf0、退出n");

printfn");

printf("请选择:")

scanf("%d",&sel);

p1=a->next;

p2=b->next;

while(p1&&p2)

else if(p1->e>p2->e) /p1的指数大于p2的指数。

p=(dnode *)malloc(sizeof(dnode));

p->e=p2->e;

if(sel==1)

p->c=p2->c;

elsep->c=(-1)*p2->c;

p->next=t->next;

t->next=p;

p2=p2->next;

elsep1的指数小于p2的指数。

p=(dnode *)malloc(sizeof(dnode));

p->e=p1->e;

p->c=p1->c;

p->next=t->next;

t->next=p;

p1=p1->next;

while(p1!=nullp2为空,p1不为空时。

while(p2!=nullp1为空,p2不为空时。

p=(dnode *)malloc(sizeof(dnode));

p->e=p2->e;

if(sel==2如果选择的是2,则将p2中剩余的项的系数取其相反数。

p->c=(-1)*p2->c;

elsep->c=p2->c;

数据结构课程设计报告

东莞理工学院城市学院。题目 二叉排序树 专业 计算机科学与技术 本 年级 2010级计算机科学与技术专业 1 班。个人姓名 何振江。指导教师 张娟老师 时间 2010至2011第二学期第18周 地点 实验楼615机房 东莞理工学院城市学院计算机与信息科学系制。2011年 6月。实习报告的内容。一 问...

数据结构课程设计报告

设计一个校园导游程序,为来访的客人提供信息查询服务。1 设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图 无向网 以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。2 存放景点代号 名称 简介等信息供用户查询。3 为来访客人提供图中任意景点相关信息的查询。4 为来访客人提供...

数据结构课程设计报告

河北科技大学。课程设计报告。学生姓名学号。专业班级。课程名称数据结构。学年学期 2 012 2 013学年第 2 学期指导教师 黄春茹。2 0 13年 6 月。课程设计成绩评定表。一 数据结构课程设计目标。二 问题描述。三 需求分析。四 概要设计。五 详细设计。六 软件说明书 给出软件如何使用,使用...