public class Arrays {
public static void main(String[] args) {
//test copy
int[] a = {1,3,2,6,3,4,2,5,3,6};
int[] b = new int[10];
copy(a,3,b,2,2);
copy(a,3,a,2,5); //源与目的可以是一个数组
copy(a,2,a,3,5);
System.out.println(toString(b));
swap(a,b);
System.out.println(toString(b));
a = changeCapacity(a,5); //加5
System.out.println(toString(a));
a = changeCapacity(a,-5);//减5
System.out.println(toString(a));
}
/**
* @param src: 要拷贝的源数组
* @param srcFrom: 源数组开始拷贝的起始位置
* @param dist: 拷贝的目的数组
* @param distFrom: 目的数组开始拷贝的起始位置
* @param length: 要拷贝的个数
*/
public static void copy(int[] src, int srcFrom , int[] dist, int distFrom ,int length) {
}
/**
* @param a: 要变成字符串的数组,如:{1,3,2,5,3}
* @return : 将数组变成如下格式返回的字符串:
* [1,3,2,5,3]
*/
public static String toString(int[] a) {
return "";
}
/**
* 调用完该函数后,交换两个数组中的元素
* 假设两数组的长度必须一样
* @param a: 交换的数组a
* @param b: 交换的数组b
*/
public static void swap(int[] a, int[] b) {
}
/**
* 改变数组的容量,改变容量后数据要尽可能保留
* @param a: 源数组
* @param changeNum: 要改变的容量
* 其中changeNum > 0 表示扩容,原来的数据保留,新增加的位置的数据为0
* changeNum == 0 表示不变
* changeNum < 0 表示缩短,在新的长度内保留原来的数据
*/
public static int[] changeCapacity(int[] a,int changeNum) {
return new int[0];
}
/**
* 将指定的数组中全部填充指定的元素,例如:
* 源数组a = {1,0,0,3,6};
* 调用filled(a,5);之后
* a = {5,5,5,5,5}
*
* @param a: 要被填充的数组
* @param num: 要填入的元素
*/
public static void filled(int[] a, int num) {
}
/**
* 将数组排序(算法随意);
* @param a: 要被排序的数组
* @param isAsc: 是否是升序,true表示升序,false
*/
public static void sort(int[] a,boolean isAsc) {
}
/**
* 返回指定数组中第一次出现num的位置下标
* @param a: 目标数组
* @param num: 要找的数字
* @return: 返回第一次出现num的位置的下标
* -1表示没有该元素
*/
public static int indexOf(int[] a, int num) {
return -1;
}
/**
* 返回指定数组中是否包含指定的数字
* @param a: 目标数组
* @param num: 要找的数字
* @return:
* true 表示包含
* false 表示不包含
*/
public static boolean containts(int[] a,int num) {
return false;
}
/**
* 返回指定数组中的子数组
* @param a: 目标数组
* @param from: 子数组的起始位置
* @param to: 子数组的结束位置
* @return: 子数组
*
*/
public static int[] subArray(int[] a, int from, int to) {
return new int[0];
}
/**
* 返回指定数组中第一次出现num的位置下标
* 注意:该方法与indexOf的效果一样,只不过该方法假设要搜索的
* 数组是一个按照升序排列的,因此可以采用二分法查找
* @param a: 目标数组
* @param num: 要找的数字
* @return: 返回第一次出现num的位置的下标
* -1表示没有该元素
*/
public static int binarySearch(int[] a, int num) {
return -1;
}
/**
* 将两个数组连接起来
* @param first: 第一个数组
* @param second: 第二个数组
* @return :返回连接起来的新数组
*/
public static int[] connect(int [] frist, int[] second) {
return new int[0];
}
}