#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!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值