Java中数组排序算法有选择排序和冒泡排序。
选择排序:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。
特点:最值出现在0角标元素
package
com.itheima;
public
class
SelectSort {
//定义功能,用于打印数组中的元素,元素间用逗号隔开
public
static void printArr(int[]arr){
System.out.print("[");
for(int x=0;x<arr.length;x++)
{
if(x!=arr.length-1)
System.out.print(arr[x]+",");
else
System.out.println(arr[x]+"]");
}
}
//定义功能,用于升序排序
public
static void SelectSort(int[] arr)
{
for(int x=0;x<arr.length-1;x++)
{
for(int y=x+1;y<arr.length;y++)
{
if(arr[x]>arr[y])
{
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
public
static void main(String[] args) {
int[] arr={2,4,7,4,8,1};
//排序前打印数组元素
printArr(arr);
//排序后打印
SelectSort(arr);
printArr(arr);
}
}
冒泡排序:每相邻两元素进行比较,将小的放在前面,大的放在后面。
特点:最值出现在最后角标元素上。
public
static void BubbleSort(int[]arr)
{
for(int x=0;x<arr.length-1;x++)
{
for(int y=0;y<arr.length-x-1;y++)//-x:让每一次比较的元素减少。-1:比边角标越界
{
if(arr[y]>arr[y+1])
{
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
}
注:其实最快的是希尔排序,三层循环加位运算哦,作为了解内容;系统自带函数Arrays.sort函数排序,开发中要是用它。
分享到:
相关推荐
b站黑马程序员java视频学习笔记
黑马程序员java培训就业班笔记:day10总结
Javaweb基础全课程笔记,黑马程序员上课笔记,主要涉及前端 jsp和servlet等
黑马程序员python基础班教程笔记:(51)异常简介全文共7页,当前为第1页。黑马程序员python基础班教程笔记:(51)异常简介全文共7页,当前为第1页。异常 黑马程序员python基础班教程笔记:(51)异常简介全文共7页,当前...
黑马程序员python基础班教程笔记:HTML表单常用控件1全文共4页,当前为第1页。黑马程序员python基础班教程笔记:HTML表单常用控件1全文共4页,当前为第1页。HTML表单(Form)常⽤控件(Controls) 黑马程序员python基础...
黑马程序员java培训就业班笔记:day06总结
正在自学黑马程序员Java全套,目前只学了Javase,接下来是Javaweb,把自己整理的笔记分享一下。
day01_Object类、常用API day02_Collection、泛型 day03_List、Set、数据结构、Collections day04_Map,斗地主案例 day05_异常,线程 day06_线程、同步 day07_等待与唤醒案例、线程池、Lambda...Java基础小节练习题答案
黑马程序员java培训就业班笔记:day05总结
观黑马程序员JAVA学习笔记
B站黑马程序员Python教程学习笔记
集合—黑马程序员Java学习笔记
本压缩包包含很多java基础题,笔记,都是来自黑马论坛,为java学习者提供复习资料,同时帮助需要考入黑马的同学学习。
黑马程序员基础班精华笔记总汇
黑马程序员Java基础视频辅导班Day01上课笔记
黑马程序员Java基础视频辅导班课堂笔记总结Day08
IO—黑马程序员Java学习笔记.rar
黑马程序员java培训就业班笔记:day09总结
黑马程序员java培训就业班笔记:day16(集合框架基础总结)