Java基础学习笔记 -- 10(数组排序)

1. 双层for循环

外层循环执行一次,内层循环会全部执行,总执行次数为"外层循环次数" * "内层循环次数"。



案例31:

输出结果:
        



案例32:



2. 数组排序

1)冒泡排序

比较相邻的元素,将小的放到前面,大的放后面,比较一轮,会获取一个最大值在最后位置。



案例33:

输出结果:



2)冒泡排序--轻泡上浮

将最小的数字往前排,比较一轮,获取一个最小的在前面。



案例34:

输出结果:



3)插入排序

将数组中每个元素(从第二个元素开始的元素)与第一个元素比较,如果这个元素小于第一个元素,则交换这两个元素;再循环第1条规则,找出最小元素,放于第1个位置经过n-1轮比较完成排序。



案例35:

输出结果:



案例36:

输出结果:



3. 二分查找法

虽然JDK提供了二分查找的方法:Arrays.binarySearch( 数组,  元素值);但是很多时候(面试),需要我们自己写。

二分查找要求数组是有序的,获取数组arr的中间位置mid,定义变量k为要查找的数字。

若arr[mid] == k,查找成功;

若arr[mid] > k,在前半段中继续进行二分查找;

若arr[mid] < k,则在后半段中继续进行二分查找。



案例37:



本文出自 “永远年轻” 博客,请务必保留此出处http://kingkongzhao.blog.51cto.com/6319491/1653567

时间: 2024-11-10 16:07:31

Java基础学习笔记 -- 10(数组排序)的相关文章

java基础学习笔记day01

java基础学习笔记day01 1.软件开发: 软件:按照特定顺序组织的计算机数据和指令的集合 开发:软件的制作过程 软件开发:借助开发工具和计算机语言制作软件 2.java概述: java之父:詹姆斯·高斯林 JDK:java开发环境 jre:java运行环境 JVM:java虚拟机 java跨平台是因为,JVM能在不同的平台运行,JVM是跨平台的 JavaSE:标准版 JavaME:手机端,物联网 JavaEE:企业版,互联网项目 3.java语言特点: 简单性 解释性 面向对象 高性能 分

黑马程序员--java基础学习笔记5

黑马程序员--java基础学习笔记6 一.笔记内容概述: 数组-第二种定义格式.数组-常见操作-遍历-最值-选择排序-冒泡排序-排序位置置换代码提取.数组-排序的性能问题.数组-常见功能-查找-折半查找.进制转换-查表法-整合. 二.常用内容介绍: 1.数组初始化的三种方式: int[] arr = new int[3]; int[] arr = new int[]{1,2,3}; int[] arr = {1,2,3}; 2.查表法: 如果数据中出现了对应关系,而且对应关系的一方是有序的数字编

JAVA基础学习笔记(2)

看了几天的视频了,都没时间来写下学习笔记,今天来写下第二次的学习笔记,前几天看的给忘记了,就写最新看到的吧 主要内容:1.类的变量与函数(方法) 2.对象的存储方式 3.新建一个对象及对象的赋值与调用 4.空对象 5.匿名对象 1.类的变量与函数(方法) class Dog      //类名 { String name;  //变量的声明 int age; String color; void bark()   //方法的定义(返回值为空,不带参数) { System.out.println(

JAVA基础学习笔记(1)

今天第一天开始学JAVA,时间:2014年6月17日 学习内容:1.java环境的架设 2.JAVA基本数据类型 1.JAVA环境的架设       1.要先去下载JDK,下载地址 2.安装完成后,设置环境变量 1.1环境变量的设置        1.右键-我的电脑-属性-高级-环境变量-系统变量,找到PATH,在里面加入jdk里bin目录的地址 如:c:\java\bin; 2.新建-名为classpath,值为. 1.2测试JAVA是否配置正确        1.在cmd里面输入javac.

Java基础学习笔记

File 的高级获取功能 String[] list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录 示例 import java.io.File; class FileDemo9 { public static void  main(String[] args) { //获取E:下所有目录或者文件名称 File file=new  File("E:\\");//1.构建文件对象 String[]  fileNames=file.list();//2.获取E

[java基础学习笔记]Java8SE开发环境搭建、第一个Java Hello World、Java程序的编译与执行

本文作者:sushengmiyan 本文地址:http://blog.csdn.net/sushengmiyan/article/details/25745945 主要内容: ---------------------------------------------------| 1.JDK的下载与安装                            | 2.编写第一个java程序HelloWorld     | 3.编译执行HelloWorld                      

[原创]java WEB学习笔记10:GenericServlet

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

Java基础学习笔记二十八 管家婆综合项目

本项目为JAVA基础综合项目,主要包括: 熟练View层.Service层.Dao层之间的方法相互调用操作.熟练dbutils操作数据库表完成增删改查. 项目功能分析 查询账务 多条件组合查询账务 添加账务 编辑账务 删除账务 项目环境搭建 技术选型和jar包介绍 每个项目都要使用一些已经成熟的技术,它们通常是由一些专业组织或团队所提供的开源免费技术.在今后的学习过程中,我们会逐渐对这些专业组织有所了解.本项目中使用的技术如下: apache的commons组件: commons-dbutils

Java基础学习笔记(一)

程序员,程序猿,程序媛,码农 ——————————————————————————————————————————————————————— ——Java的应用领域    J2SE    主要用来开发桌面应用软件.    J2ME   嵌入式开发,例如手机里的软件,掌上电脑软件等等.     J2EE    属于网络编程,例如JSP等等,做网站用. ——参考资料    张孝祥    <Java就业培训>     林信良    <Java学习笔记>    机械工业    <Ja