java课的课后作业,要求实现数组的多线程冒泡排序并实现可视化,自己写了一个奇偶排序的多线程,但效率较低,现在回顾一下老师课上讲的程序。
生成的界面如上
首先实现Button1的功能,生成随机的指定大小的数组
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
long len=(Long)jFormattedTextField1.getValue();
int arr[]=new int[(int)len];
for(int i=0;i<len;i++)
{
arr[i]=(int)(Math.random()*10000);
}
SortPane.ar=arr;
this.repaint();
}
接着实现选择线程的按钮
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Object value=jSpinner1.getValue();
int tn= Integer.parseInt(value.toString());
SortPane.mode=new int[tn];
BubbleOrder[]bo=new BubbleOrder[tn];
for(int i=0;i<tn;i++)
{
bo[i]= new BubbleOrder((SortPane)jPanel1,i,tn,SortPane.ar);
}
try {
Thread.sleep(500);}catch<