java语言实现任何一种排序_请用java语言编写排序程序。
展开全部
参考代码如下,可以按需求自己修改import java.util.Date;
public class SortThread {
public static void main(String[] args) {
//产生一个随机数组
int[] ary = getArray();
//启动冒泡排序线程32313133353236313431303231363533e58685e5aeb931333332643938
new Thread(new MaoPao(ary)).start();
//启动快速排序线程
new Thread(new KuaiSu(ary)).start();
}
private static int[] getArray() {
//建议数字n不要超过1百万,十万左右就好了
int n = (int) (Math.random()*1000000)+11;
int[] ary= new int[n];
System.out.println("n的值是" + n);
for (int i = 0; i
ary[i] = (int) (Math.random()*100000);
}
return ary;
}
}
//冒泡排序
class MaoPao implements Runnable {
int[] ary;
public MaoPao(int[] ary) {
this.ary = ary;
}
@Override
public void run() {
long st = System.currentTimeMillis();
System.out.println(new Date() + "冒泡排序线程:开始执行排序");
for (int i = 0; i
for (int j = 0; j
if (ary[j]
int temp = ary[j];
ary[j] = ary[j + 1];
ary[j + 1] = temp;
}
}
}
long et = System.currentTimeMillis();
System.out.println(new Date() + "冒泡排序线程完成排序,耗费时间" + (et - st) + "毫秒");
for (int i = 0; i
System.out.println(ary[i]+" ");
}
}
}
//快速排序
class KuaiSu implements Runnable {
int[] ary;
public KuaiSu(int[] ary) {
this.ary = ary;
}
@Override
public void run() {
long st = System.currentTimeMillis();
System.out.println(new Date() + "快速排序线程:开始执行排序");
quickSort(ary, 1, ary.length);
long et = System.currentTimeMillis();
System.out.println(new Date() + "快速排序线程排序完成,耗费时间" + (et - st) + "毫秒");
for (int i = 0; i
System.out.println(ary[i]+" ");
}
}
public static int Partition(int a[], int p, int r) {
int x = a[r - 1];
int i = p - 1;
int temp;
for (int j = 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;
return i + 1;
}
public static void quickSort(int a[], int p, int r) {
if (p
int q = Partition(a, p, r);
quickSort(a, p, q - 1);
quickSort(a, q + 1, r);
}
}
}
java语言实现任何一种排序_请用java语言编写排序程序。相关推荐
- java中如何按名字来排序_如何在Java中对名称和年龄进行排序
我是Java 8的新手,我只想按名称排序.但条件是:如果名称重复,则应根据年龄对其进行排序. 例如我的输入是 tarun 28 arun 29 varun 12 arun 22 并且输出应该是 aru ...
- java中常用的几种排序算法--常见笔试面试
转载:http://blog.csdn.net/ygc87/article/details/7208082 以下列出Java中常用的几种排序算法,只是简单实现了排序的功能,还有待改进,望指教(以下均假 ...
- C语言中的几种排序算法
C语言中的几种排序算法 在编程练习时,我们经常会遇到一些将一串乱序的数字排列成有序的数列(递增,递减)的问题,以此起到解决问题的效果.目前我使用的比较熟练的有三种排序算法,冒泡排序法,快速排序法,另外 ...
- java数字大小排序_怎么用java给数字排大小?
将数字从大到小排序的方法: 例如简一点的冒泡排序,将第一个数字和后面的数字逐个比较大小,如果小于,则互换位置,大于则不动.此时,第一个数为数组中的最大数.然后再将第二个数与后面的数逐个比较,以次类推. ...
- java map按照value排序_基础:Java集合需要注意的 5 个问题
点击上方 Java后端,选择 设为星标 优质文章,及时送达 Java集合中的List.Set和Map作为Java集合食物链的顶级,可谓是各有千秋.本文将对于List.Set和Map之间的联系与区别进行 ...
- java treeset比较,java中TreeSet的两种排序比较的方式
第一种是使得元素具有比较性 第二种是让集合具有比较性 具体代码步骤如下: import java.util.*; /* * TreeSet:可以自动对对集合中的元素进行排序 * 第一种比较方式 * 步 ...
- java输入长宽高计算表面积_设计一个C语言程序计算长方体体积和表面积,长宽高通过键盘输入?????...
展开全部 # include int main (void) { double l, w, h;//定义变量62616964757a686964616fe4b893e5b19e313333656463 ...
- java输入长宽高计算表面积_设计一个C语言程序计算长方体体积和表面积,如何通过键盘输入长宽高?...
展开全部 # include int main (void) { double l, w, h;//定义变量 double s, v;//定义变量 printf("please input ...
- java原始类型排序_海牛部落 java 系列教程:(5)数组和排序
1 数组 数组是编程语言中最常见的的数据结构,其本身是个引用类型数据. java数组要求所有的数组元素具有相同的数据类型. 一旦数组的初始化完成,数组在内存中所占的空间将被固定下来,数组的长度将不可变 ...
最新文章
- 中国新十大军工企业名单及简称 十大军工集团 原十大军工集团
- java最简单的并查集(不想交集合)以及杭电1272
- 计算机感染病毒后 一定不能清除的措施是,计算机感染病毒后,一定不能清除的措施是()。...
- 模式匹配 怎么匹配减号_如何使您的应用导航与用户的思维模式匹配
- 把一个sql where表达式转化为一个二叉树
- 论文笔记 | 使用GCN建模关系数据
- 转:改变你思维模式书
- 【python】TCP协议编程
- oracle如何查询明细账,新纪元通用账证查询打印软件常用问题解答.docx
- java泛型笔记2--上界通配符
- 构建面向异构算力的边缘计算云平台
- zabbix4.4 使用自动发现监测web网站健康状态(通过mysql表获取web地址)
- Day.js 一个轻量级的 JavaScript 时间日期处理库
- 今日头条后台实习生面试总结
- 信息学奥赛一本通 1348:【例4-9】城市公交网建设问题
- 亚马逊云科技的区域和可用区概念解释
- STM32驱动ST7789V2 tft屏幕
- 网页自动浏览.刷票.自动留言之登陆篇(VB)
- SIEVE: Secure In-Vehicle Automatic Speech Recognition Systems 论文报告
- linux网卡配子接口,Linux 操作系统分析 中国科学技术大学计算机系 陈香兰( 0512 - 87161312 ) Autumn 2010....
热门文章
- python判断ip能否ping通_python 检查IP是否能ping通,并且分别导入两个文件
- linux内核循环,模仿Linux内核kfifo实现的循环缓存
- 树状数组区间修改和区间求和
- 安装go client调用Kubernetes API
- Asp.net WebForm使用codeFirst建立和修改数据库小结
- python使用minidom读写xml
- 设计模式笔记(15)---命令模式(行为型)
- C++的类型强制转换,static_cast,dynamic_cast,const_cast,reinterpret_cast
- MySQL5.0修改默认编码格式为UTF-8(修复MySQL中文乱码)
- Eclipse创建Java项目时提示Open Associated Perspective?