📄 s4.java
字号:
package S4;
import java.util.Calendar;
//进程一
class thread1 extends Thread
{
int i,j,mediu,k,m,count;
int arry[]=new int[10000];
int arry1[]=new int[10000];
public thread1(String name,int arry[])
{
super(name);
for(i=0;i<10000;i++)
arry1[i]=arry[i];
}
public void run()
{
//简单选择排序
Calendar c5=Calendar.getInstance();
for(i=0;i<arry1.length-1;i++)
{
k=i;
for(j=i+1;j<arry1.length;j++)
{
if(arry1[j]<arry1[k])
k=j;
}
if(k!=j)
{
mediu=arry1[k];
arry1[k]=arry1[i];
arry1[i]=mediu;
}
}
Calendar c6=Calendar.getInstance();
long s3=c5.getTimeInMillis();
long e3=c6.getTimeInMillis();
long ei3=e3-s3;
System.out.println("输出简单选择排序法运行时间"+ei3+"毫秒");
System.out.println("该线程:"+this.getName());
for(int s=0;s<10000;s++)
{
count++;
if(count%100==0)
System.out.println();
System.out.print(arry1[s]+",");
}
}
}
//进程二
class thread2 extends Thread
{
int i,j,mediu,k,m,count;
int arry1[]=new int[10000],arry2[]=new int[10000];
public thread2(String name,int arry[])
{
super(name);
for(i=0;i<10000;i++)
arry2[i]=arry[i];
}
public void run()
{
//冒炮排序
Calendar c1=Calendar.getInstance();
for( i=1;i<10000;i++)
{
for(j=0;j<10000-i;j++)
{
if(arry2[j]>arry2[j+1])
{
mediu=arry2[j];
arry2[j]=arry2[j+1];
arry2[j+1]=mediu;
}
}
}
Calendar c2=Calendar.getInstance();
long sl=c1.getTimeInMillis();
long el=c2.getTimeInMillis();
long ei=el-sl;
System.out.println("输出冒泡排序法运行时间"+ei+"毫秒");
System.out.println("该线程:"+this.getName());
for(int s=0;s<10000;s++)
{
if(count%100==0)
System.out.println();
count++;
System.out.print(arry2[s]+",");
}
System.out.println();
System.out.println();
}
}
//进程三
class thread3 extends Thread
{
int i,j,mediu,count;
int arry3[]=new int[10000];
public thread3(String name,int arry[])
{
super(name);
for(i=0;i<10000;i++)
arry3[i]=arry[i];
}
public void run()
{
//插入排序
Calendar c3=Calendar.getInstance();
for(i=1;i<10000;i++)
{
for(j=i-1;j>=0;j--)
{
if(arry3[j+1]<arry3[j])
{
mediu=arry3[j];
arry3[j]=arry3[j+1];
arry3[j+1]=mediu;
}
}
}
Calendar c4=Calendar.getInstance();
long s2=c3.getTimeInMillis();
long e2=c4.getTimeInMillis();
long ei2=e2-s2;
System.out.println("输出插入排序法运行时间"+ei2+"毫秒");
for(int s=0;s<10000;s++)
{
count++;
if(count%100==0)
System.out.println();
System.out.print(arry3[s]+",");
}
System.out.println();
System.out.println("该线程:"+this.getName());
}
}
public class s4
{
public static void main(String[] args)
{
int arry[]=new int[10000];
int count=0;
for(int s=0;s<10000;s++)
{
arry[s]=(int)(Math.random()*10000+1);
count++;
}
System.out.println("输出随机产生的数组:");
for(int s=0;s<10000;s++)
{
count++;
if(count%100==0)
System.out.println();
System.out.print(arry[s]+",");
}
System.out.println();
thread1 p=new thread1("t1",arry);
p.start();
try {
p.sleep(1000);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
thread2 q=new thread2("t2",arry);
q.start();
try {
q.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
thread3 r=new thread3("t3",arry) ;
r.start();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -