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

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. JAVA_SE基础——56.包的创建

    接下来我来给大家讲下--包 , 先看一段代码 class Demo1{ public static void main(String[] args) { System.out.println(&quo ...

  2. 我的PCB电路设计(一)

    我的制板规则 过孔大小:14/24mil-(12/22-28/50)  一般过孔没必要太大.如果电流较大可以适当增大过孔,或者多加几个过孔 线宽大小:小信号线8mil,大电流线不等按1A电流30mil ...

  3. SpringMvc采用 http+json 实现前后端交互

    演示列表 报文表示 一.Json请求和Json响应 实现:Spring4.1.1.RELEASE + jackson2.4.4+JQuery1.10.2 1.pom.xml <propertie ...

  4. python入门(9)字符串和编码

    python入门(9)字符串和编码 字符串是一种数据类型,比较特殊的是字符串有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理. 最早的计算机在设计时采用8个比 ...

  5. GIT入门笔记(20)- git 开发提交代码过程梳理

    git开发提交流程新项目开发,可以直接往master上提交老项目维护,可以在分支上修改提交,多次add和commit之后,也可以用pull合并主干和本地master,解决冲突后再push 1.检出代码 ...

  6. s遇到错误不要慌,教你方法走四方

    我觉得不管是新手还是老手,他们都会出错,有些错误控制台会报错,而有些错误控制台不会报错 面对不会报错的时候,就有一些人烦恼,不知道怎么办了,久而久之,就失去了对学习的乐趣. 所以我在这里说一下对错误处 ...

  7. python当中的生成器

    最近身边的朋友都在问我迭代器是什么回事,经常跟大家一起讨论python的迭代器,一点点的我觉着自己有了更深一层的理解.我写下这篇文章,希望能对懵懵懂懂的好伙伴有些帮助~ 我也不是什么能人,难免说错一些 ...

  8. jQuery获取浏览器参数

    当我们需要获取浏览器参数是,我们可以使用jQuery进行获取,具体方法如下: 例如获取参数的地址:http://www.test.com?a="111"&b="2 ...

  9. iframe 里的高度适应的问题

    iframe 这个东西功能是很强大,但是有一个巨大的问题就是高度自适应的问题: 不过这个问题,百度或者谷歌上有很多解决办法,但是,很多时候都有兼容性问题: 所有我就每个方法都试了一遍,终于找到了一个 ...

  10. js数据结构之栈、队列(数据结构与拉火车游戏)

    1.js实现队列的数据结构(先进先出) function Queue (array) { if(Object.prototype.toString.call(array)!="[object ...