冒泡排序:
class Maopaopaixu
{
public static void bubbleSort(int[] arr)
{
for(int x=0; x<arr.length-1; x++) //arr.length-1:最后一个元素没有相邻的,所以要-1
{
for(int y=0; y<arr.length-x-1; y++) //每次内循环都从0开始比,-x:让每一次比较的元素减少;-1:避免角标越界;
{
if(arr[y]>arr[y+1])
{
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}
/*
循环代码也可以这样写:
for(int i=0; i<arr.length; i++)
{
for(int j=arr.length--1; j>i; j--)
{
if(arr[i]>arr[j])
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
*/
}
public static void main(String[] args)
{
int[] arr = {3,7,9,0,1,12,2,5};
printArray(arr);
bubbleSort(arr);
printArray(arr);
}
//定义功能,用于打印数组中的元素,元素间用逗号隔开
public static void printArray(int[] arr)
{
System.out.print("[");//此输出语句是给数加上数组符号 [ ,配合最后一条输出语句 ] .
for(int x=0; x<arr.length; x++)
{
if(x!=arr.length-1) //此处的if语句是:如果x不等于最后一个元素,那么就打印逗号,否则就不打印
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;
}
}
}
}