资源简介
可以随机产生n个点,也可以鼠标点击屏幕输入点。根据所有点,用分治法和蛮力法计算最近点对,并且比较各自所消耗的代价。

代码片段和文件信息
package com.mainframe;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import javax.swing.*;
import com.point.NearPoint;
import com.point.Point;
import com.util.algorithm.ShortestPath;
import com.util.algorithm.QSort;
public class Mainframe extends Jframe implements MouseListener
MouseMotionListener ActionListener {
/**
* Thank you for your interest in the source code of this page.:) jp1:
* 画点的panel(BorderLayout中间) jp2: BorderLayout下方
*/
private JPanel jp1 jp2 jp3 jp4 jp5jp6;
private JButton cal;
private JButton generate_random;
private JButton clear;
private Checkbox auto_generate;
private Checkbox manual;
private JTextField res1 res2 res3;
private JTextField random_number;
private JLabel random;
private boolean isAutoGenerate;
/**
* MouseX:鼠标点击的X坐标 MouseY:鼠标点击的Y坐标 Xcoord_Pointarr:存放所有的点坐标以X方向排序
* Ycoord_Pointarr:存放所有的点坐标以Y方向排序(实际算法中,index标识X的次序)
*/
private int MouseX;
private int MouseY;
private ArrayList Xcoord_Pointarr;
private ArrayList Ycoord_Pointarr;
public Mainframe() {
/**
* 初始化和界面
*/
jp1 = new JPanel();
jp1.setBackground(Color.WHITE);
// jp1.setSize(this.WIDTH this.HEIGHT/3*2);
this.jp1.addMouseListener(this);
this.jp1.addMouseMotionListener(this);
jp2 = new JPanel();
// jp2.setSize(this.WIDTH this.HEIGHT/3);
// jp2.setLayout(new BorderLayout());
jp2.setLayout(new FlowLayout());
jp3 = new JPanel();
jp3.setLayout(new BorderLayout());
jp4 = new JPanel();
jp4.setLayout(new BorderLayout());
jp5 = new JPanel();
jp5.setLayout(new BorderLayout());
jp6 = new JPanel();
jp6.setLayout(new BorderLayout());
cal = new JButton(“Line the closest pair of points“);
cal.addActionListener(this);
clear = new JButton(“Clear all the points“);
clear.addActionListener(this);
res1 = new JTextField(25);
res2 = new JTextField(25);
res3 = new JTextField(25);
random = new JLabel(“Input random number:“);
random_number = new JTextField(5);
generate_random = new JButton(“Generate random points.“);
generate_random.addActionListener(this);
CheckboxGroup g = new CheckboxGroup();
auto_generate = new Checkbox(“1. Auto generate points.“ g false);
manual = new Checkbox(“2. Enter points by mouse.“ g true);
jp3.add(random BorderLayout.NORTH);
jp3.add(random_number BorderLayout.CENTER);
jp3.add(generate_random BorderLayout.SOUTH);
jp4.add(res1 BorderLayout.NORTH);
jp4.add(res2 BorderLayout.CENTER);
jp4.add(res3 BorderLayout.SOUTH);
jp5.add(cal BorderLayout.NORTH);
jp5.add(clear BorderLayout.SOUTH);
jp6.add(auto_generate BorderLayout.NORTH);
jp6.add(manual BorderLayout.SOUTH);
// jp2.add(jp3 BorderLayout.WEST);
// jp2.add(jp4 BorderLayout.CENTER);
// jp2.add(jp5 BorderLayout.EAST);
jp2.add(jp6);
jp2.add(jp3);
jp2.add(jp4);
jp2.add(jp5);
t
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 226 2009-10-06 01:12 NearestPoint\.classpath
文件 388 2009-10-06 01:12 NearestPoint\.project
文件 7928 2009-10-06 19:33 NearestPoint\com\mainfr
文件 8836 2009-10-06 19:33 NearestPoint\com\mainfr
文件 1124 2009-10-06 13:22 NearestPoint\com\point\NearPoint.class
文件 788 2007-09-29 19:48 NearestPoint\com\point\NearPoint.java
文件 1086 2009-10-06 13:22 NearestPoint\com\point\Point.class
文件 856 2007-09-29 19:48 NearestPoint\com\point\Point.java
文件 1688 2009-10-06 14:25 NearestPoint\com\util\algorithm\QSort.class
文件 2316 2009-10-06 14:25 NearestPoint\com\util\algorithm\QSort.java
文件 2921 2009-10-11 16:11 NearestPoint\com\util\algorithm\ShortestPath.class
文件 4057 2009-10-11 16:11 NearestPoint\com\util\algorithm\ShortestPath.java
目录 0 2009-10-06 19:47 NearestPoint\com\util\algorithm
目录 0 2009-10-06 13:22 NearestPoint\com\mainfr
目录 0 2009-10-06 13:22 NearestPoint\com\point
目录 0 2009-10-06 10:12 NearestPoint\com\util
目录 0 2009-10-06 12:31 NearestPoint\com
目录 0 2009-10-06 10:12 NearestPoint
----------- --------- ---------- ----- ----
32214 18
- 上一篇:网上教学系统UML建模
- 下一篇:utm坐标和经纬度相互转换
相关资源
- 分治法快速排序算法QuickSort C
- vs2005骑士巡游问题-分治法C
- 随机大质数和大随机数的产生
- NIST随机数统计测试工具Windows版
- zipf随机数生成
- 基于随机数直接搜索法的PID控制参数
- NIST.SP.800-90B 随机数熵评估标准
- NIST随机数测试标准中文版
- 算法代码回溯法,动态规划,分治法
- Kmeans的opencv实现
- 分治法计算Voronoi图
- NIST随机数静态测试
- 算法分析与设计实训实验报告
- 分治法实现三维最接近点对问题
- 随机数.exe
- PPT实现随机数,随机人名
- VHDL之随机数.7z
- 利用分治法求解空中飞行管理问题
- 改进的快速Mersenne twister随机数算法
- Strassen矩阵乘法—分治法实现代码
- 汇编语言产生随机数并运算
- ppt实现随机数效果
- 随机数数据折线图
- labview随机波形VI
- 格雷码问题 分治法产生n位的格雷码
- verilog产生高斯随机数
- 求一组数组的两个最大值和两个最小
- 随机数生成器
- M序列产生算法及构造伪随机数
- 常见的抽奖-根据指定概率抽奖改进
评论
共有 条评论