public class paixu {
/**
* @param args
*/
//冒泡法就是每循环一次,把最大的数字留在最下面。然后再从前n-1里面继续冒泡法。
public void maoPao(int[] number){
int in,out;
for(out=number.length-1;out>0;out--){
for(in=0;in<out;in++){
if(number[in]>number[in+1]){
int temp=number[in+1];
number[in+1]=number[in];
number[in]=temp;
}
}
}
}
public void chaRu(int[] number){
int in,out;
for(out=1;out<number.length;out++){
int temp=number[out];
in=out;
while(in>0&&number[in]>temp){
number[in]=number[in-1];
in--;
}
number[in]=temp;
}
}
//选择法就是,把前n个值一个一个的比较,把最小的值放在第一个位置,再从第二个位置比较后面的值,把最小的值放在第二个位置。以此类推,就实现的排序。
public void xuanZe(int[] number){
int in,out;
for(in=0;in<number.length-1;in++){
for(out=in+1;out<number.length;out++){
if(number[in]>number[out]){
int temp=number[out];
number[out]=number[in];
number[in]=temp;
}
}
}
}
public void display(int[] number){
for(int i=0;i<number.length;i++)
System.out.print(number[i]+" ");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
paixu p=new paixu();
int sz[]=new int[]{1,4,5,2,7,6,9,67,87,23,-3,-4,90};
System.out.print("原排序是:");
p.display(sz);
System.out.println("");
long begin=System.nanoTime();
p.maoPao(sz);
long end=System.nanoTime();
System.out.print("冒泡时间用时:"+(end-begin)+"纳秒");
p.display(sz);
System.out.println("");
begin=System.nanoTime();
p.chaRu(sz);
end=System.nanoTime();
System.out.print("插入时间用时:"+(end-begin)+"纳秒");
p.display(sz);
System.out.println("");
begin=System.nanoTime();
p.xuanZe(sz);
end=System.nanoTime();
System.out.print("选择时间用时:"+(end-begin)+"纳秒");
p.display(sz);
}
}
运行后的结果是
原排序是:1 4 5 2 7 6 9 67 87 23 -3 -4 90
冒泡时间用时:8940纳秒-4 -3 1 2 4 5 6 7 9 23 67 87 90
插入时间用时:6844纳秒-4 -3 1 2 4 5 6 7 9 23 67 87 90
选择时间用时:8590纳秒-4 -3 1 2 4 5 6 7 9 23 67 87 90
、
经过多次试验 插入排序是用时最少效率最快的
分享到:
相关推荐
本篇文章将详细介绍在Java中连接Oracle数据库的几种常见方法,以及相关的源码示例。 1. JDBC-ODBC桥连接: JDBC-ODBC桥是Java早期连接数据库的一种方式,它依赖于操作系统上的ODBC数据源。首先,你需要在系统中...
本实验通过生成大量随机数并写入文件,然后使用四种不同的排序算法进行排序,以比较它们的效率。以下是对这四种排序算法的详细解释: 1. **冒泡排序(Bubble Sort)** 冒泡排序是最基础的排序算法之一,它通过重复...
本文将详细探讨C回调Java的几种方法。 1. **注册本地方法** 在JNI中,Java虚拟机(JVM)启动时会加载一个`JNI_OnLoad`函数,这是C代码与Java世界接触的第一个入口。在这个函数中,我们可以使用`RegisterNatives`...
本文将详细介绍Java中常见的几种排序算法,包括冒泡排序、快速排序以及选择排序。 1. **冒泡排序**: 冒泡排序是最基础的排序算法之一,它的主要思想是通过不断比较相邻元素并交换位置,使得较大的元素逐渐“浮”到...
本文将深入探讨Oracle中SQL语句执行效率的查找与解决方法,特别关注于如何识别和优化那些导致性能瓶颈的查询。 ### Oracle SQL执行效率:查找与解决 #### 一、资源消耗分析 在Oracle中,SQL语句执行效率低下通常...
这个文件"JAVA关于几种排序算法的性能比较.pdf"显然探讨了不同排序算法在Java环境下的效率对比,包括直接插入排序、直接选择排序、冒泡排序、希尔排序、快速排序和堆排序。这些排序算法各有优劣,适用于不同的场景,...
根据给定的文件信息,我们可以深入探讨几种在Java中实现的经典排序算法,这些算法是数据结构与算法领域的重要组成部分,广泛应用于各种计算机科学场景。以下是对插入排序(Insertion Sort)、冒泡排序(Bubble Sort...
以下将详细阐述几种将Java编译为EXE的方法。 1. **JAR to EXE转换器** JAR(Java Archive)文件是Java类库的集合,可以包含源代码、资源文件和元数据。一些工具如Excelsior JET、Launch4j和Jar2Exe可以帮助我们将...
在Java中实现遗传算法,主要涉及到以下几个核心概念和技术: 1. **编码方式**:遗传算法中的个体通常被编码为二进制串、浮点数序列或自定义的数据结构,比如数组。在Java实现中,我们需要设计合适的编码方式来表示...
本文将详细探讨将Java应用程序本地编译为EXE的几种常用方法,包括工具的选择、使用步骤以及各自的特点。 ### 方法一:使用TowerJ编译器 [TowerJ](http://www.towerj.com)提供了一种将CLASS文件转换为EXE文件的解决...
在编程领域,算法是解决问题的关键,而Java作为一种广泛使用的编程语言,提供了丰富的工具和技术来实现各种算法。本文将深入探讨标题和描述中提及的几个重要算法:冒泡排序、递归算法、快速排序以及汉诺塔的实现。 ...
Java提供了丰富的API来支持加密技术的应用,主要包括以下几种库和技术: - **Java Cryptography Extension (JCE)**:提供了一系列加密和解密的服务。 - **Java Cryptography Architecture (JCA)**:定义了一套加密...
### 几种经典排序算法的Java实现 #### 排序算法概述 排序是计算机科学中的基本操作之一,用于处理一组数据元素(或记录),通过排序操作使得这些元素按照一定的关键字顺序排列。根据不同的应用场景和需求,排序...
由于其计算效率高、加密速度快等特点,在过去的几十年里被广泛应用。 ##### 2. Java安全API Java提供了强大的安全API支持,包括但不限于`java.security`包和`javax.crypto`包。这些API使得在Java应用程序中实现加密...
综上所述,"java链接postgresql"涉及到的关键技术包括JDBC接口的使用、PostgreSQL JDBC驱动的集成、数据库连接的建立与关闭、SQL语句的执行和结果处理。通过封装好的`Test`文件,我们可以快速学习和应用这些知识,...
Java字节码执行的可并行性对提高Java程序的执行效率具有重要意义。 六、参考文献 [1] Peng X, Chen D. Analysis and method of parallelism executed by Java byte code. Journal of Sichuan Post and ...