package test3;

public class Sort{
/**
* 冒泡排序
* @param array
*/
public void bubbleSort(int[] array)
{
for (int i = 1; i < array.length; i++)
{
for (int j = 0; j < array.length - i; j++)
{
if(array[j] > array[j + 1]) //判断相邻两个元素的大小
{
int c = array[j]; //保存第一个元素的值
array[j] = array[j + 1]; //把第二个的值给第一个
array[j + 1] = c; //把第一个的值给第二个
}
}
}
showArray(array);
} /**
* 选择排序
* @param array
*/
public void selectSort(int[] array)
{
int index;
for (int i = 1; i < array.length; i++)
{
index = 0;
for (int j = 1; j <= array.length - i; j++)
{
if(array[j] > array[index]) //找到最大值
{
index = j;
}
}
int c = array[array.length - i];       //元素最后一个值
array[array.length - i] = array[index];     //把选出来最大值或最小值放到最后一个值上
array[index] = c; //把最后一个值放到选出来最大值或最小值上
}
showArray(array);
}
/**
* 反转排序
* @param array
*/
public void reverseSort(int[] array)
{
System.out.println("数组原有值");
showArray(array); int c; for (int i = 0; i < array.length / 2; i++) { //循环数组一半
c = array[i]; //获取第一个值,放入临时变量
array[i] = array[array.length - 1 - i]; //把最后一个值放到第一个值上
array[array.length - 1 - i] = c; //把第一个值放到值上最后一个值上
} System.out.println("数组反转值");
showArray(array);
} private void showArray(int[] array){ for(int is : array)
{
System.out.print("\t"+is);
}
System.out.println(); }
    public static void insertSort(int[] a) {
      int i, j, insertNote;// 要插入的数据
      for (i = 1; i < a.length; i++) {// 从数组的第二个元素开始循环将数组中的元素插入
        insertNote = a[i];// 设置数组中的第2个元素为第一次循环要插入的数据
         j = i - 1;
        while (j >= 0 && insertNote < a[j]) {
          a[j + 1] = a[j];// 如果要插入的元素小于第j个元素,就将第j个元素向后移动
          j--;
        }
        a[j + 1] = insertNote;// 直到要插入的元素不小于第j个元素,将insertNote插入到数组中
      }
    }
}

  

java学习之—排序的更多相关文章

  1. Java学习笔记——排序算法之快速排序

    会当凌绝顶,一览众山小. --望岳 如果说有哪个排序算法不能不会,那就是快速排序(Quick Sort)了 快速排序简单而高效,是最适合学习的进阶排序算法. 直接上代码: public class Q ...

  2. Java学习笔记——排序算法之进阶排序(堆排序与分治并归排序)

    春蚕到死丝方尽,蜡炬成灰泪始干 --无题 这里介绍两个比较难的算法: 1.堆排序 2.分治并归排序 先说堆. 这里请大家先自行了解完全二叉树的数据结构. 堆是完全二叉树.大顶堆是在堆中,任意双亲值都大 ...

  3. Java学习笔记——排序算法之希尔排序(Shell Sort)

    落日楼头,断鸿声里,江南游子.把吴钩看了,栏杆拍遍,无人会,登临意. --水龙吟·登建康赏心亭 希尔算法是希尔(D.L.Shell)于1959年提出的一种排序算法.是第一个时间复杂度突破O(n²)的算 ...

  4. Java学习笔记——排序算法之简单排序

    男儿何不带吴钩,收取关山五十州.请君暂上凌烟阁,若个书生万户侯? --南园十三首 三种排序法: 1.冒泡法 2.简单选择法 3.直接插入法   上代码: 1.冒泡排序 public class Bub ...

  5. java学习-排序及加密签名时数据排序方式

    排序有两种 1. 类实现comparable接口调用List.sort(null)或Collections.sort(List<T>)方法进行排序 jdk内置的基本类型包装类等都实现了Co ...

  6. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  7. 关于JAVA学习计划和感想

    学习计划第一阶段:    JAVA语言基础知识.包括异常.IO流.多线程.集合类.    要求:异常------掌握try-catch-finally的使用          IO流------掌握字 ...

  8. 20145304 第五周Java学习报告

    20145304<Java程序设计>第5周学习总结 教材学习内容总结 1.使用try.catch: 如果使用了try.catch,编译时会尝试执行try区块中的程序代码,如果有错误,执行流 ...

  9. 20145330第八周《Java学习笔记》

    20145330第八周<Java学习笔记> 第十五章 通用API 通用API 日志:日志对信息安全意义重大,审计.取证.入侵检验等都会用到日志信息 日志API Logger:注意无法使用构 ...

随机推荐

  1. 【转】使用ffmpeg转码的MP4文件需要加载完了才能播放的解决办法

    1.前一段时间做了一个ffmpeg转码MP4的项目,但是转出来的MP4部署在网站上需要把整个视频加载完成才能播放,到处找资料,最后找到解决方案记录于此备忘. FFMpeg转码由此得到的mp4文件中, ...

  2. ORA-08104

    https://blog.csdn.net/daiqiulong2 create index idx_p_merchant_detail_id on D_ORDER_DETAIL (merchant_ ...

  3. jacoco+ant安装部署篇(统计代码覆盖率,适用自动化测试)

    1:什么是jacoco? JaCoCo是一个开源的覆盖率工具(官网地址:http://www.eclemma.org/JaCoCo/),它针对的开发语言是java,其使用方法很灵活,可以嵌入到Ant. ...

  4. adaboost-笔记(1)

    1 - 加法模型 加法模型,就是通过训练集不断的得到不同的分类器(回归),然后将这些分类器组合成一个新的分类器的过程. 假设有\(N\)个样本,且我们的加法模型如下: \[f(x)=\sum_{m=1 ...

  5. 动手做webserver的核心之http解析

    简介 webserver往小里说核心功能就是socket管理.url处理.http协议处理.业务dll管理等:下面简介绍一下http协议:超文本传输协议(HTTP)是一种通信协议,当时就是为web传输 ...

  6. C# 中的相对路径在 Picturebox 中的应用

    前言 最近的项目需要将 picturebox 显示网络图片的小功能完成,不想用绝对路径取本地文件里的图片,因为将来要发布给用户的话让用户自己配置会很麻烦的,索性将路径设置成相对路径,将图片放在自己的项 ...

  7. python--递归(附利用栈和队列模拟递归)

    博客地址:http://www.cnblogs.com/yudanqu/ 一.递归 递归调用:一个函数,调用的自身,称为递归调用 递归函数:一个可以调用自身的函数称为递归函数 凡是循环能干的事,递归都 ...

  8. 使用redis实现生产者消费者模式

    本次主要分享一下使用redis做缓存队列,实现生产者消费者模式. 首先先来看一下redis提供的列表操作接口.像ListRightPush就和符合队列先进先出的原则. 然后围绕这个列表已下单为例简要实 ...

  9. 《React Native 精解与实战》书籍连载「iOS 平台与 React Native 混合开发」

    此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...

  10. vue文档全局api笔记2

    1.Vue.filter( id, [definition] ) 在组件内注册 <template> <div id="app"> <div clas ...