⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 odd_2.c

📁 数据结构课程设计_任意大数的加减乘运算器
💻 C
字号:
//该算法主要思路是:将128个特征值串成一串,只对第一维度的特征值进行搜索操作(目前暂时决定选用折半查找法,另外用一个数组存储
//第一维的特征值)
/******************************************************************************/
#define FEATURE_MAX_D 128//

struct feature
{
	double descr[FEATURE_MAX_D];
};//存储文件数据的结构体

typedef struct datanode
{
	struct datanode *predim, *nextdim;//分别连接同一数据的上一维和下一维特征值
	double *data;//存储该特征值的指针
	int Dim;//该特征值所在的维数
	char visit;//标志该特征值的被访问情况(1表示已经被访问过;0表示未被访问过)
}DataNode;//存储特征值的结点结构

typedef struct 
{
	DataNode *Cross[FEATURE_MAX_D+1];
}crossdata;//每一列的结构
#include <stdio.h>
#include <math.h>
#include <malloc.h>
#include "function.h"//定义函数的文件

void main()
{
	struct feature *feat1,*feat2;//定义feat1来读取文件数据
	int DataNum1=0,DataNum2=0;
	int i=0/*,j*/;
	FILE *fp1,/*fp0,*/*fp2;///
	crossdata CrossData;

	fp1=fopen("a.dat","rb");//
	fread(&DataNum1, sizeof( int ), 1, fp1 );//读取该文件中数据的数目
	feat1=(struct feature*)malloc(DataNum1*sizeof(struct feature));//为feat申请空间
	fread(feat1,sizeof(struct feature),DataNum1,fp1);//feat读取文件中的所有数据
	fclose(fp1);
	
/*	fp0=fopen("b.txt","w+");
	for(j=0;j<DataNum1;j++,feat1++)
	{
		for(i=0;i<128;i++)
			fprintf(fp0,"%f\n",feat1->descr[i]);
	}
	fclose(fp0);*/
	Buildserach(feat1,DataNum1,&CrossData);//构造搜索结构

	fp2=fopen("b.dat","rb");//
	fread(&DataNum2, sizeof( int ), 1, fp2 );//读取该文件中数据的数目
	feat2=(struct feature*)malloc(DataNum2*sizeof(struct feature));//为feat申请空间
	fread(feat2,sizeof(struct feature),DataNum2,fp2);//feat读取文件中的所有数据
	fclose(fp2);	
	SearchShortest(feat2,DataNum2,CrossData,DataNum1);
}//main

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -