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. C和指针 (pointers on C)——第七章:函数(上)

    第七章 函数 这一章对于有一定C的基础的人有一定优秀代码风格的人来说,并非非常虐.关于stdarg宏可能有些陌生.它负责可变參数列表的定义. 总结: 新式风格和旧式风格就不要提了.八百年前的事情. 函 ...

  2. 测试中 unittest.main(verbosity=1) 是什么意思

    这里的verbosity是一个选项,表示测试结果的信息复杂度,有三个值0 (静默模式): 你只能获得总的测试用例数和总的结果 比如 总共100个 失败20 成功801 (默认模式): 非常类似静默模式 ...

  3. oldboy-作业01.登录多次进行账号锁定

    """可以支持多个用户登录 (提示,通过列表存多个账户信息)用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里) &q ...

  4. php 验证身份证号

    function validation_filter_id_card($id_card){ if(strlen($id_card)==18){ return idcard_checksum18($id ...

  5. 【html5】解决HTML5新标签不兼容的问题

    html5标签: 1.语义化好 -> SEO a). 程序交流方便 b). 搜索引擎友好 baidu -> 不认识 google 2.本身不兼容,想兼容低版本,请使用如下方法: 方式一:使 ...

  6. 无备份时用dbms_repair恢复坏块的方法

    份的情况下可以直接使用备份来恢复. 对于通过备份恢复,Oracel为我们提供了很多种方式,冷备,基于用户管理方式,RMAN方式等等. 对于这几种方式我们需要实现基于数据库以及文件级别的恢复.RMAN同 ...

  7. 自定义的库加载不进来,因为库中import的PIL和pillow文件没有pip install

    1.自定义的库,加载进来,提示red不能识别这个class或moudle 2.应该展开细节多看下,细节中提示,没有PIL和pillow 3.这个时候在cmd中使用pip安装PIL和pillow pip ...

  8. Mybatis学习总结(九)——查询缓存

    一.什么是查询缓存 mybatis提供查询缓存,用于减轻数据压力,提高数据库性能.mybaits提供一级缓存和二级缓存. 1.一级缓存是sqlSession级别的缓存.在操作数据库时需要构造sqlSe ...

  9. HotSpot虚拟机对象探秘(对象创建,对象内存布局,对象访问定位)

    以常用的HotSpot虚拟机和JAVA内存区域堆为例,探讨对象的创建,对象的内存布局以及对象的访问定位 一.对象的创建 1)类加载:虚拟机遇到一条new指令时,先检测这个指令的参数能否在常量池中定位到 ...

  10. UIImageView - BNR

    继续上节UINavigationController - BNR. 打开BNRDetailViewController.xib文件,向view中添加UIImageView对象,选中该对象,通过Attr ...