对数组进行排序 使用到的排序算法有:

1 选择排序   2 冒泡排序   3 插入排序    4 JavaAPI提高排序算法

选择排序的原理:

1 将数组中每个元素与第一个元素比较,如果这个元素小于第一个元素,则交换这两个元素
     2 循环第1条规则,找出最小元素,放于第1个位置
     3 经过n-1轮比较完成排序

冒泡排序原理:
      将相邻的元素进行比较,小的放在前面

插入排序原理:
      将数组分为两部分, 将后部分的第一个逐一与前部分每一个元素比较,在合理位置插入
      插入排序算法效率要高于选择排序和冒泡排序

代码如下:

import java.util.Arrays;

/**
* 该类是用于对数组进行排序
* 使用到的排序算法有:1 选择排序 2 冒泡排序
* 3 插入排序 4 JavaAPI提高排序算法
* @author scywxx
*
*/
public class ArraySort { public static void main(String[] args) {
int[] array = {8,3,2,7,1};
//array = selectionSort(array);//调用选择排序
//array = bubbleSort(array);//调用冒泡排序
// array = insertSort(array);//调用插入排序
Arrays.sort(array);//调用javaAPI排序
System.out.println(Arrays.toString(array));//输出选择排序的结 果
//使用JavaAPI提高排序算法 }
/**
* 冒泡排序原理:
* 将相邻的元素进行比较,小的放在前面
* @param array
* @return
*/
public static int[] bubbleSort(int[] array) {
for(int i = 0; i < array.length - 1; i++)//总共进行 array.length-1轮
{
for(int j = 0;j< array.length-i-1; j++)
{
if(array[j] > array [j+1])//比较相邻的元素之 间的大小
{
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
return array;
}
/**
* 选择排序原理:
* 1 将数组中每个元素与第一个元素比较,如果这个元素小于第一个元素,则交 换这两个元素
* 2 循环第1条规则,找出最小元素,放于第1个位置
* 3 经过n-1轮比较完成排序
* @param array
* @return
*/
public static int[] selectionSort(int[] array) { for(int i = 0; i < array.length-1;i++)//总共进行array.length -1轮
{
for(int j = i+1;j<array.length;j++)
{
if(array[j]<array[i])//数组中元素小于第一个元 素
{
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
return array;
}
/**
* 插入排序原理:
* 将数组分为两部分, 将后部分的第一个逐一与前部分每一个元素比较,在合 理位置插入
* 插入排序算法效率要高于选择排序和冒泡排序
* @param array
* @return
*/
public static int[] insertSort(int[] array){
int t ,j;
for(int i = 1;i < array.length ;i++)//第一个数已经排好序 后 面的部分取第一个
{
t=array[i];
for( j = i-1;j > 0; j--)//将后部分的第一个逐一与前部 分比较
{
if(t < array[j])
{
array[j+1] = array[j];//该数后移
}
else
{
break;//退出
} }
array[j+1] = t;
}
r

Java的数组排序的更多相关文章

  1. Java实现数组排序

    package com.souvc.hibernate.exp; public class MySort { /** * 方法名:main</br> * 详述:Java实现数组排序 < ...

  2. Java-Runoob-高级教程-实例-数组:01. Java 实例 – 数组排序及元素查找

    ylbtech-Java-Runoob-高级教程-实例-数组:01. Java 实例 – 数组排序及元素查找 1.返回顶部 1. Java 实例 - 数组排序及元素查找  Java 实例 以下实例演示 ...

  3. Arrays 类操作 Java 的数组排序

    使用 Arrays 类操作 Java 中的数组 Arrays 类是 Java 中提供的一个工具类,在 java.util 包中.该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序.搜索等( ...

  4. java - day004 - 数组排序,插入,冒泡

    // 判断string 是否相等不能用 == 使用 equal 方法 Arrays.sort(数组);  数组排序算法 对基本类型. 优化的快速排序算法 对引用类型, 优化的合并排序算法

  5. java 集合数组排序

    //数组排序Integer arr[] = {3,4,2};Arrays.sort(arr);//默认升序Arrays.sort(arr,Comparator.reverseOrder());//传一 ...

  6. LeetCode242 有效的字母异位词(Java字符数组排序&自定义排序记录)

    题目: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词.   示例 1: 输入: s = "anagram", t = "nagaram& ...

  7. 用Java给数组排序

    public class BubbleDemo {public static void main(String[] args) { int arr[]={1,3,5,7,2,4,6,8,9}; bub ...

  8. Java通过几种经典的算法来实现数组排序

    Java实现数组排序 package com.souvc.hibernate.exp; public class MySort { /** * 方法名:main</br> * 详述:Jav ...

  9. Java中的数组操作进阶

    package com.mi.array; import java.util.Arrays; /** * System.arraycopy(i, 0, j, 0, i.length);这种复制会覆盖目 ...

随机推荐

  1. php函数var_dump() 、print_r()、echo()

    var_dump() 能打印出类型 print_r() 只能打出值 echo() 是正常输出... 需要精确调试的时候用 var_dump(); 一般查看的时候用 print_r() 另外 , ech ...

  2. app测试中遇到问题总结

    工作总结: 1 这两天由于工作,需要进行抓包,使用了Charles,fidder,发现一个坑点: charles没有抓到返回值的时候,默认是不在列表显示请求信息的,能不能设置,我就不知道了,但是可以在 ...

  3. Hangfire使用ApplicationInsigts监控

    起因 我司目前使用清真的ApplicationInsights(以下简称Ai)来做程序级监控.(Ai相关文档: https://azure.microsoft.com/zh-cn/services/a ...

  4. SecureCRT 7.3注册机激活

    SecureCRT是一款很好用的远程登陆管理工具 工具和注册机下载链接:http://pan.baidu.com/s/1jImWiMU 密码:0yox 以管理管运行keygen.exe(一定要以管理员 ...

  5. netty : NioEventLoopGroup 源码分析

    NioEventLoopGroup 源码分析 1. 在阅读源码时做了一定的注释,并且做了一些测试分析源码内的执行流程,由于博客篇幅有限.为了方便 IDE 查看.跟踪.调试 代码,所以在 github ...

  6. Nginx动静分离架构

    Nginx动静分离简单来说就将动态与静态资源分开,不能理解成只是单纯的把动态页面和静态页面物理分离,严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx处理静态页面,Tomcat,Res ...

  7. ELK学习总结(3-3)elk的组合查询

    1.bool 查询: must: 必须 should:  可以满足,也可以不满足. must_not: minimum_should_match: 至少要x个匹配才算匹配成功 disable_coor ...

  8. loadrunner录制时web时,安全证书问题

    测试环境:win7+LoadRunner11+ie9 遇到的问题:用LoadRunner录制时,打开百度,总是报安全证书问题,如图所示 解决方法:Tools——Recording Options——p ...

  9. spark2.1:flatMap的用法

    代码示例: val sample_data_combine_result=List( (0,(List(FitModel(4022,1447.92,-8.38983306721434,2.0)),1) ...

  10. git的理论基础

    GIT是目前世界上最先进最牛逼的分布式版本控制系统git维护的三棵树分别是工作区域.暂存区域.git仓库工作区域:就是你平时存放项目代码的地方暂存区域:用于临时存放你的改动,事实上它只是一个文件,保存 ...