资源简介
对于短路的你,希望算法代码给你一个新的思路,代码的讲解利于你更好的对于题目的详细解释同时学会方法,利于自身的创新
代码片段和文件信息
#include
#include
#include
#define TRUE 1
#define FALSE 0
using namespace std;
typedef struct Node//坐标点
{
double x;
double y;
}Node;
typedef struct List
{
Node* data; //点
int count; //点的个数
}List;
typedef struct CloseNode
{
Node a;
Node b; //计算距离的两个点
double space; //距离平方
}CloseNode;
int n; //点的数目
//输入各点到List中
void create(List &L)
{
cin >> n;
L.count = n;
L.data = new Node[L.count]; //动态空间分配
for (int i = 0; i cin >> L.data[i].x >> L.data[i].y;
}
//求距离的平方
double square(Node a Node b)
{
return ((a.x - b.x)*(a.x - b.x)) + ((a.y - b.y)*(a.y - b.y));
}
//冒泡排序
void BubbleSort(Node r[] int length)
{
int change n;
n = length; change = TRUE;
double b c;
for (int i = 0; i {
change = FALSE;
for (int j = 0; j {
if (r[j].x>r[j + 1].x)
{
b = r[j].x; c = r[j].y;
r[j].x = r[j + 1].x; r[j].y = r[j + 1].y;
r[j + 1].x = b; r[j + 1].y = c;
change = TRUE;
}
}
}
}
//分治法中先将坐标按X轴从小到大的顺序排列
void paixu(List L)
{
BubbleSort(L.data L.count); //调用冒泡排序
}
//左右各距中线d的区域的最近对算法
void middle(const List & L CloseNode &cnode int
- 上一篇:Dijkstra最短路径算法C语言实现
- 下一篇:最高响应比算法调度作业.cpp
评论
共有 条评论