//数组的排序操作
class ArraySortDemo
{
public static void main(String[] args)
{
int[] arr={2,9,6,7,4,1};
printArray(arr);
swich(arr);
printArray(arr);
}
//冒泡排序
static void bubbleSort(int[] arr)
{
//逐轮分析 总结规律
for (int j=1;j<=arr.length-1 ;j++ )
{
for (int i=1; i <= arr.length-j ;i++ )
{
if (arr[i-1]>arr[i])
{
swap(arr,i-1,i);
}
}
}
/*
for (int i=1; i <= arr.length-i ;i++ )
{
if (arr[i-1]>arr[i])
{
swap(arr,i-1,i);
}
}
//第二轮
for (int i = 1 ;i <= arr.length-2 ;i++ )
{
if (arr[i-1]>arr[i])
{
swap(arr,i-1,i);
}
}
//第三轮
for (int i = 1 ;i <= arr.length-3 ;i++ )
{
if (arr[i-1]>arr[i])
{
swap(arr,i-1,i);
}
}
*/
}
//选择排序
static void swich (int[] arr)
{
for (int j=0;j <=arr.length ;j++ )
{
for (int i=j+1;i <= arr.length-1 ;i++ )
{
if (arr[j] > arr[i])
{
swap(arr,j,i);
}
}
}
/*
//第一轮
for (int i=1;i <= arr.length-1 ;i++ )
{
if (arr[0] > arr[i])
{
swap(arr,0,i);
}
}
//第二轮
for (int i=2;i <= arr.length-1 ;i++ )
{
if (arr[1] > arr[i])
{
swap(arr,1,i);
}
}
//第三轮
for (int i=3;i <= arr.length-1 ;i++ )
{
if (arr[2] > arr[i])
{
swap(arr,2,i);
}
}
*/
}
//数组元素交换
static void swap (int[] arr ,int index1,int index2)
{
int temp =arr[index1];
arr[index1]=arr[index2];
arr[index2]=temp;
}
//打印数组元素操作
static void printArray(int[] arr)
{
if (arr == null)
{
System.out.println("null");
return;
}
String ret = " [ ";
for (int index = 0;index < arr.length ;index++ )
{
ret = ret + arr[index];
if (index != arr.length-1)
{
ret = ret + ",";
}
}
ret = ret + " ] ";
System.out.println(ret);
}
}
4.11 数组的排序操作(冒泡排序 选择排序)
最新推荐文章于 2023-04-02 15:06:13 发布