`
shenyu
  • 浏览: 120689 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

数组练习

阅读更多
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];
	}
}

 

6
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics