资源简介
各个排序算法的java实现
包括 插入排序(直接插入和希尔排序) 交换排序(起泡排序和快速排序) 选择排序(简单选择和堆排序) 归并排序
代码片段和文件信息
//各种排序测试
import java.util.Random;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class SortGui extends Jframe implements ActionListener
{
JLabel label1=new JLabel(“各种排序性能测试“);
JLabel label2=new JLabel(“排序算法“);
JLabel label3=new JLabel(“记录个数“);
JTextField text1=new JTextField();
JTextField text2=new JTextField();
String s[] ={“直接插入排序““希尔排序““起泡排序““快速排序““简单选择排序““堆排序“
“归并排序(非递归)““归并排序(递归)“};
JComboBox combo=new JComboBox(s);
JButton button1=new JButton(“排序“);
JButton button2=new JButton(“随机生成“);
static JLabel output=new JLabel(“提示:1.数据生成:在输入框输入你要排序的记录用空格隔开 按Enter 或者 在记录个数框输入记录个数 按 随机生成 2.排序:选择排序方式后按 排序 “);
static JTextArea textarea=new JTextArea();
int[] num; //用以存放随机生成的记录
int [] r1; //二路归并排序算法须用到一个与存放待排序记录等长的数组
long start=0;
long over=0;
SortGui()
{
super(“各种排序时间性能测试“);
setLayout(null);
add(label1);
label1.setBounds(1501012015);
add(text1);
text1.setBounds(53042530);
add(label2);
label2.setBounds(10805515);
add(combo);
combo.setBounds(657810025);
add(button1);
button1.setBounds(290756025);
add(label3);
label3.setBounds(101305515);
add(text2);
text2.setBounds(6512510025);
add(button2);
button2.setBounds(2901259025);
add(output);
output.setForeground(Color.blue);
output.setBounds(516043545);
add(textarea);
textarea.setBounds(5210425200);
textarea.setLineWrap(true); //设置文本区自动换行
Font f=new Font(“宋体“Font.BOLD25);
textarea.setFont(f);
textarea.setForeground(Color.magenta);
text1.addActionListener(this);
text2.addActionListener(this);
button1.addActionListener(this);
button2.addActionListener(this);
setVisible(true);
setSize(450450);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==text1)
{
String temp1=text1.getText();
String[] temp2=temp1.split(“\\s“);
num=new int[temp2.length+1];
r1=new int[temp2.length+1];
for(int i=1;i num[i]=Integer.parseInt(temp2[i-1]); //注意是temp2[i-1]
Print();
}
if(e.getSource()==button1)
{
try{
switch(combo.getSelectedIndex())
{
case 0: //直接插入排序
{
start = System.nanoTime();
InsertSort(numnum.length-1); //由于r[0]是空出来的 所以数组元素个数是length-1
over = System.nanoTime();
output.setText(null);
output.setText(“排序的时间是: “ + (over - start)/1000+ “微秒“);
Print();
}
break;
case 1: //希尔排序
{
start = System.nanoTime();
ShellSort(numnum.length-1);
over = System.nanoTime();
output.setText(null);
output.setText(“排序的时间是: “ + (over - start)/1000 + “微秒“);
Print();
}
break;
case 2: //起泡排序
{
start = System.nanoTime();
BubbleSort(numnum.lengt
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11707 2011-06-13 21:57 SortGui.java
----------- --------- ---------- ----- ----
11707 1
相关资源
- 数据结构 图(邻接矩阵) java图形界
- 玩转算法系列--数据结构精讲更适合
- JAVA语言程序设计与数据结构第十一版
- 15 尚硅谷大数据技术之Scala数据结构和
- 完整版数据结构与算法分析_Java语言描
- e语言-HashMap模块源码—— 高效
- Java数据结构和算法(第二版).pdf
- 银行排队系统模拟-数据结构
- 数据结构与算法分析+java语言描述
- 基于Java带界面的实/复数计算器
- java小项目约瑟夫环动画演示数据结构
- 散列表实现电话号码查询系统java
- java算法中常用的数据结构和方法
- 数据结构课程设计:手机通通讯录模
- 数据结构java将十进制N转换为二进制
- java版数据结构与算法分析第二版课后
- 数据结构课程设计—java通讯录管理系
- 数据结构与算法JAVA语言版pdf,内含源
- 数据结构带权无向图
- 数据结构-停车场模拟管理程序(jav
- 数据结构 java版 简易通讯录
- Java数据结构与算法视频44集详解入门
- 基于对象输入输出流和数据结构的图
- 《学习ja<x>vasc<x>ript数据结构
- 数据结构(Java版)(第3版)[叶核亚
- java算法大全
评论
共有 条评论