黑马程序员—Java基础学习笔记之排序算法:选择排序&冒泡排序

本文介绍了Java中的两种基本排序算法——选择排序和冒泡排序,并通过示例代码详细展示了这两种算法的具体实现过程。此外,还提到了希尔排序以及系统自带的Arrays.sort函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-----------android培训java培训java学习型技术博客、期待与您交流!-----------
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函数排序,开发中要是用它。

-----------android培训java培训java学习型技术博客、期待与您交流!-----------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值