#Java笔记 #程序实现:数组的操作——创建、插入、裁剪、扩展、翻转、排序

刚开始学JAVA,从笔记做起!

program 1 数组的操作

目的

书上说,数组[...] 的长度一经初始化就不能改变;但是对数组的一些操作(插入、裁剪、扩展等)又要求改变数组的长度。《第一行代码 JAVA》一书的 4.3 继承案例 中讲道:“数组的缺陷就在于长度固定,而这个问题的解决可以利用第3章的链表解决……” (p220)  于是,在对继承的下一步学习之前,我先用链表的方法来尝试解决。

作为自己的笔记,也请诸君不吝赐教。

1. 数组中的元素类 EleOfArr 

/** element of array
 * 链表结构
 * @author Yuan_hang
 *
 */
public class EleOfArr {
	// 属性
	private double num;
	private EleOfArr next;
	
	// 构造方法
	public EleOfArr(){}
	
	public EleOfArr(double num){
		this();
		this.num = num;
	}
	
	public EleOfArr(double num, EleOfArr next){
		this(num);
		this.next = next;
	}
		
	// 方法
	public void setNum(double num){ this.num = num; }
	public double getNum(){ return this.num; }
	
	public void setNext(EleOfArr next){ this.next = next; }
	public EleOfArr getNext(){ return this.next; }
	
	public void addEle(double num){
		this.next = new EleOfArr(num);
	}
	
}

2. 数组类 Array 及其方法

/**
 * Array from EleOfArr
 * 1. 创建一个数列
 * 2. 读取某个位置的数
 * 3. 在数列最末(任意位置)插入一个数
 * 4. 删除某个位置的数
 * 5. 扩展数列,缺数则补齐0
 * 5. 转置操作
 * 6. 排序(正序/逆序)操作
 * @author Yuan_hang
 *
 */
public class Array {
	//属性
	private double[] arr;
	private EleOfArr[] arrTemp;
	private int arrLength;
	
	/**
	 * 构造方法
	 */
	//无参构造
	public Array(){}
	
	//单参数构造
	public Array(double[] arr){
		this.arr = arr;
		
		this.arrLength = arr.length;
		
		this.arrTemp = new EleOfArr[this.arrLength];
		this.arrTemp[this.arrLength-1] = new EleOfArr(arr[this.arrLength-1]);
		for(int x=this.arrLength-2; x>=0; x--){
			this.arrTemp[x] = new EleOfArr(arr[x],arrTemp[x+1]);
		}
	}
	
	//多参数构造
	public Array(double[] arr,int arrLength){
		if(arrLength<0){System.err.println("Array: Length cannot be nagative!

你可能感兴趣的:(Java,初学笔记,java)