//拷贝数组元素的操作
class ArrayCopeDemo
{
public static void main(String[] args)
{
int[] src = new int[]{1,2,3,4,5,6,7,8,9,10};//源数组
int[] dest = new int[10];//目标数组
//需求:从src数组中拷贝3,4,5,6元素到dest数组中
printArray(dest);//[0,0,0,0,0,0,0,0,0,0]
System.arraycopy(src,2,dest,5,4);//调用System类中自带的copy方法
printArray(dest);//[0,0,0,0,0,3,4,5,6,0]
}
static void printArray(int[] arr)
{
//思路:先打印数组"[]",再获取arr数组里面的元素,然后再做if判断,判断如果当前i的值不是最后一个索引,则拼接
if (arr == null)
{
System.out.println("null");
return;
}
String ret = "[";
for (int i = 0;i < arr.length ;i ++ )
{
ret = ret + arr[i];
//如果当前i不是最后一个索引,则拼接", "
if (i != arr.length - 1)
{
ret = ret + ", ";
}
}
ret = ret + "]";
System.out.println(ret);
}
}
冒泡排序
image.pngimage.png
//数组的排序操作(冒泡排序)
class ArraySortDemo
{
public static void main(String[] args)
{
int[] arr = new int[]{2,9,6,7,4,1};
ArraySortDemo.printArray(arr);//[2,9,6,7,4,1]
ArraySortDemo.bubbleSort(arr);//排序
ArraySortDemo.printArray(arr);//[1,2,4,6,7,9]
}
//冒泡排序
static void bubbleSort(int[] arr)
{
/*
//第一轮
for (int i = 1;i <= arr.length - 1 ;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);
}
}
*/
//代码加强
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);
}
}
}
}
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)
{
//思路:先打印数组"[]",再获取arr数组里面的元素,然后再做if判断,判断如果当前i的值不是最后一个索引,则拼接
if (arr == null)
{
System.out.println("null");
return;
}
String ret = "[";
for (int i = 0;i < arr.length ;i ++ )
{
ret = ret + arr[i];
//如果当前i不是最后一个索引,则拼接", "
if (i != arr.length - 1)
{
ret = ret + ", ";
}
}
ret = ret + "]";
System.out.println(ret);
}
}
网友评论