import java.util.Arrays;

 /**
* 各种排序算法从小到大进行排序
*/
public class Test { public static void main(String args[]) {
int[] n = { 5, 2, 3, 4, 1 };
int[] n1, n2, n3;
n1 = n2 = n3 = Arrays.copyOf(n, n.length); System.out.println("原来的数组:");
printArray(n); selectionSort(n1);
System.out.println("\n选择排序后:");
printArray(n1); bubbleSort(n2);
System.out.println("\n冒泡排序后:");
printArray(n2); insertionSort(n3);
System.out.println("\n插入排序后:");
printArray(n3);
} /** 选择排序:首先确定的是最小元素 */
private static void selectionSort(int number[]) {
for (int i = 0; i < number.length - 1; i++) {
// 对当前无序区间score[i......length-1]进行排序
for (int j = i + 1; j < number.length; j++) {
if (number[i] > number[j]) {
int temp = number[i];
number[i] = number[j];
number[j] = temp;
}
} }
} /** 冒泡排序:最先确定的是最大的元素 */
private static void bubbleSort(int number[]) {
for (int i = 0; i < number.length - 1; i++) {
// 对当前无序区间score[0......length-i-1]进行排序
for (int j = 0; j < number.length - i - 1; j++) {
if (number[j] > number[j + 1]) {
int temp = number[j];
number[j] = number[j + 1];
number[j + 1] = temp;
}
}
}
} /** 插入排序:不断将元素插入到已经排好序的数据(注意插入的顺序) */
private static void insertionSort(int[] list) {
for (int i = 1; i < list.length; i++) {
int currentElement = list[i];
// 把list[i]插入到list[0]~list[i-1]之间,这样list[0]~list[i]就排好序了
int j;
for (j = i - 1; j >= 0 && list[j] > currentElement; j--) {
list[j + 1] = list[j];
}
// 把当前元素插入到list[j+1]
list[j + 1] = currentElement;
}
} /** 打印数组中的元素 */
private static void printArray(int number[]) {
for (int i : number) {
System.out.print(i + "\t");
}
}
}

运行结果:

几种排序算法的java实现的更多相关文章

  1. 几种排序算法及Java实现排序的几种方式

    几种排序算法 下面的例子介绍了4种排序方法: 冒泡排序, 选择排序, 插入排序, 快速排序 package date201709.date20170915; public class SortUtil ...

  2. 必须知道的八大种排序算法【java实现】(一) 冒泡排序、快速排序

    冒泡排序 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个 ...

  3. 必须知道的八大种排序算法【java实现】

    一.冒泡排序 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成. ...

  4. 必须知道的八大种排序算法【java实现】(二) 选择排序,插入排序,希尔算法【详解】

    一.选择排序 1.基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换:然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止. 2.实例 3.算法 ...

  5. 必须知道的八大种排序算法【java实现】(三) 归并排序算法、堆排序算法详解

    一.归并排序算法 基本思想: 归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的.然后再把有序子序列合并为整体有序序列. 归并 ...

  6. 一遍记住 8 种排序算法与 Java 代码实现

    ☞ 程序员进阶必备资源免费送「21种技术方向!」 ☜ 作者:KaelQ, www.jianshu.com/p/5e171281a387 1.直接插入排序 经常碰到这样一类排序问题:把新的数据插入到已经 ...

  7. 几种简单的排序算法(JAVA)

    几种排序算法(JAVA) 一.代码 package com.hdwang; import java.util.Arrays; /** * Created by admin on 2017/1/20. ...

  8. 7种基本排序算法的Java实现

    7种基本排序算法的Java实现 转自我的Github 以下为7种基本排序算法的Java实现,以及复杂度和稳定性的相关信息. 以下为代码片段,完整的代码见Sort.java 插入排序 /** * 直接插 ...

  9. Java实现八种排序算法(代码详细解释)

    经过一个多星期的学习.收集.整理,又对数据结构的八大排序算法进行了一个回顾,在测试过程中也遇到了很多问题,解决了很多问题.代码全都是经过小弟运行的,如果有问题,希望能给小弟提出来,共同进步. 参考:数 ...

随机推荐

  1. webDriver API——第14部分Color Support

    class selenium.webdriver.support.color.Color(red, green, blue, alpha=1) Bases: object Color conversi ...

  2. java设计模式之模板方法

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/8744002 今天你还是像往常一样来上班,一如既往地开始了你的编程工作. 项目经理告 ...

  3. 读-《c++设计新思维-泛型编程与设计模式之应用》经典记录(英文书名:《modern c++ design》)

    1.以设计为目标的程序库都必须帮助使用者完毕静止的设计.以实现使用者自己的constraints,而不是实现预先定义好的constraints. 2.Anything that can be done ...

  4. jquery下载保存文件

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  5. 【Linux】Ctentos下载

    百度输入:Download Centos 在百度搜索Download Centos然后进入Centos下载官网 点击上述标记的Download Centos,则会出现如下界面,并且点击"Mo ...

  6. Spring入门示例

    开发环境 Spring 4.3.0+Myeclipse2015+JDK1.8 准备阶段: 1.新建一Spring01项目,然后新建一个lib文件.将下面的添加到lib文件中 2.将lib文件所有的包导 ...

  7. vs2017安装过程问题及解决方法

    1. 问题:C++ 无法打开 源 文件 "errno.h"等文件 解决方法:https://jingyan.baidu.com/article/8ebacdf0167b2249f6 ...

  8. 从1KW条数据中筛选出1W条最大的数

    using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using S ...

  9. Win7下更改iTunes备份路径最便捷的方法

    ① 先删除C:\Users\你的用户名\AppData\Roaming\Apple Computer里的 MobileSync文件夹(首次安装iTunes要先运行一次itunes,才有这个文件夹,如果 ...

  10. Maven打jar包的三种方式

    Maven打jar包的三种方式 不包含依赖jar包 该方法打包的jar,不包含依赖的jar包,也没有指定入口类. <build> <plugins> <plugin> ...