当前位置:首页 » 编程语言 » java语言实现任何一种排序

java语言实现任何一种排序

发布时间: 2023-03-07 23:44:40

Ⅰ 利用java语言,实现数组的排序

import java.util.Scanner;

public class Test{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入十个数:");
int arr[] = new int[11];
for (int i=0;i<10;i++){
arr[i] = scanner.nextInt();
}
for (int i=0;i<10;i++){
for (int j=i;j<10;j++){
if (arr[i]<arr[j]){
int tmp = arr[i];arr[i] = arr[j];arr[j] = tmp;
}
}
}
System.out.println("降序排列后输出结果:");
for (int i=0;i<10;i++){
System.out.print(arr[i] + " ");
}
System.out.println();
System.out.println("插入一个数:");
int ex = scanner.nextInt();
for (int i=0;i<10;i++){
if (ex>arr[i]){
for (int j=10;j>i;j--){
arr[j] = arr[j-1];
}
arr[i] = ex;
break;
}
}
System.out.println("插入一个数后的输出结果:");
for (int i=0;i<11;i++){
System.out.print(arr[i] + " ");
}
}
}

Ⅱ 请用java语言编写排序程序。

importjava.util.Date;
publicclassSortThread{
publicstaticvoidmain(String[]args){
//产生一个随机数组
int[]ary=getArray();
//启动冒泡排序线程
newThread(newMaoPao(ary)).start();
//启动快速排序线程
newThread(newKuaiSu(ary)).start();
}
privatestaticint[]getArray(){
//建议数字n不要超过1百万,十万左右就好了
intn=(int)(Math.random()*1000000)+11;
int[]ary=newint[n];
System.out.println("n的值是"+n);
for(inti=0;i<ary.length;i++){
ary[i]=(int)(Math.random()*100000);
}
returnary;
}
}
//冒泡排序
classMaoPaoimplementsRunnable{
int[]ary;
publicMaoPao(int[]ary){
this.ary=ary;
}
@Override
publicvoidrun(){
longst=System.currentTimeMillis();
System.out.println(newDate()+"冒泡排序线程:开始执行排序");
for(inti=0;i<ary.length-1;i++){
for(intj=0;j<ary.length-i-1;j++){
if(ary[j]<ary[j+1]){
inttemp=ary[j];
ary[j]=ary[j+1];
ary[j+1]=temp;
}
}
}
longet=System.currentTimeMillis();
System.out.println(newDate()+"冒泡排序线程完成排序,耗费时间"+(et-st)+"毫秒");
for(inti=0;i<ary.length;i++){
System.out.println(ary[i]+"");
}
}
}
//快速排序
classKuaiSuimplementsRunnable{
int[]ary;
publicKuaiSu(int[]ary){
this.ary=ary;
}
@Override
publicvoidrun(){
longst=System.currentTimeMillis();
System.out.println(newDate()+"快速排序线程:开始执行排序");
quickSort(ary,1,ary.length);
longet=System.currentTimeMillis();
System.out.println(newDate()+"快速排序线程排序完成,耗费时间"+(et-st)+"毫秒");
for(inti=0;i<ary.length;i++){
System.out.println(ary[i]+"");
}
}

publicstaticintPartition(inta[],intp,intr){
intx=a[r-1];
inti=p-1;
inttemp;
for(intj=p;j<=r-1;j++){
if(a[j-1]<=x){
i++;
temp=a[j-1];
a[j-1]=a[i-1];
a[i-1]=temp;
}
}
temp=a[r-1];
a[r-1]=a[i+1-1];
a[i+1-1]=temp;
returni+1;
}
publicstaticvoidquickSort(inta[],intp,intr){
if(p<r){
intq=Partition(a,p,r);
quickSort(a,p,q-1);
quickSort(a,q+1,r);
}
}
}

热点内容
qq访问问题 发布:2024-11-06 23:29:20 浏览:648
手机邮件接收服务器怎么设置 发布:2024-11-06 23:23:35 浏览:128
c语言循环例题 发布:2024-11-06 23:05:01 浏览:332
外星人m15r6选哪个配置 发布:2024-11-06 23:03:58 浏览:999
linuxmysql数据库安装 发布:2024-11-06 23:01:28 浏览:117
压缩器能干嘛 发布:2024-11-06 23:01:16 浏览:464
分布式存储算法 发布:2024-11-06 22:55:09 浏览:872
住宅区弱电有哪些强制配置规定 发布:2024-11-06 22:51:22 浏览:827
数据库绑定 发布:2024-11-06 22:50:31 浏览:651
巧饭巧算算法 发布:2024-11-06 22:44:49 浏览:853