资源简介
可以随机产生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坐标和经纬度相互转换
相关资源
- labview随机波形VI
- 格雷码问题 分治法产生n位的格雷码
- verilog产生高斯随机数
- 求一组数组的两个最大值和两个最小
- 随机数生成器
- M序列产生算法及构造伪随机数
- 常见的抽奖-根据指定概率抽奖改进
- CC2530的随机数发生器
- labview的小程序(包括:case while循环
- 循环赛日程表(分治法)
- QT5 实时曲线绘制
- CC2530产生随机数修正版
- 分治法实现最接近点对问题的三维推
- 36选7的开奖过程,每次从1到36的数中
- 动态规划法与分治法的区别
- GM-T 0062-2018密码产品随机数检测要求
- 随机数质量标准,AIS31-EN
- 假币问题-减治法在组合问题中的应用
- 伪随机数产生的verilog文件
- 随机数相关标准SP800-90A
- 蒙特卡洛随机数算法及程序介绍
- 汇编语言--案例2产生随机数并运算的
- 蛮力法 分治法 动态规划求最大字段和
- 明明的随机数
- 分治法求最近点对问题
- 经典算法 分支限界法 分治法 动态规
评论
共有 条评论