算法与数据结构课程设计说明书(6)

2020-02-20 23:08

4.2数据结构设计

数据结构:结构体。 typedef struct {

int data[MAX]; int flag[MAX]; int size;

}array;

4.3算法设计

if((fp=fopen(\数组B.c\

{

printf(\文件打开失败!\\n\ exit(0); }

while(!feof(fp)) {

fread(&b,1,sizeof(array),fp); }

for(i=0;isize;i++) {

x=a->data[i];

for(j=i+1;jsize;j++) {

y=a->data[j]; b.data[k]=y-x; k++; } }

b.size=k;

26

4.4流程图如下:

图4.1 程序流程图

生成A 生成D

开始 录入A 4.5调试分析

a.调试中遇到的问题及对问题的解决方法

第一次排序的时候忘了让对应的下标对应起来,结果导致排序结果失误。解决方法,检查到之后更正回来。 b.算法的时间复杂度和空间复杂度

由于采用了三重循环进行组合计算,所以时间复杂度为O(n^3)

4.6测试结果

1 当输入数组A的大小为4,{0,1,5,8},数组B为{1,3,4,5,7,8,},输出结果如图所示。

图4.1 数组A,B排序重新组图

27

4.7 源程序(带注释)

部分源程序

# include # include # include # include # define MAX 100

typedef struct {

int data[MAX]; int flag[MAX]; int size; }array; int

CREAT_NEW_A() {

FILE *fp;

array b,a; //b原始数据存储.a,构造的用于判断的结构体

int i,j,z; char ch[MAX];

strcpy(ch,\数组c.c\

if((fp=fopen(\数组B.c\ {

printf(\文件打开失败!\\n\ exit(0); }

28

while(!feof(fp)) {

fread(&b,1,sizeof(array),fp); }

fclose(fp); a.data[0]=0; printf(\数组:\\n\ for(i=0;i

a.data[1]=b.data[i]; a.data[2]=b.data[j]; a.data[3]=b.data[z]; a.size=4; COMPARE(&a,ch); }

printf(\满足条件\\n\ return 0; } int max; int

COMPARE(array *a,char ch[MAX]) {

FILE *fp; array d; array b;

int i,j,k=0,n,x,y,z;

if((fp=fopen(ch,\ {

printf(\文件打开失败!\\n\

29

exit(0); }

for(i=0;isize;i++) {

x=a->data[i];

for(j=i+1;jsize;j++) {

y=a->data[j]; b.data[k]=y-x; k++; } }

b.size=k; sort(&b);

fwrite(&b,1,sizeof(array),fp); fclose(fp);

if((fp=fopen(\数组B.c\ {

printf(\文件打开失败!\\n\ exit(0); }

while(!feof(fp)) {

fread(&d,1,sizeof(array),fp); }

fclose(fp);

for(i=0;i

if(b.data[i]!=d.data[i]) break;

30


算法与数据结构课程设计说明书(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:测控111 毕业论文最终版 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: