链表与数组的区别

本文对比了链表与数组的特点及适用场景,并介绍了链表的基本操作,包括添加、删除及打印方法。通过具体代码示例展示了单链表的实现。

链表与数组的区别:

          数组:在定义数组时必须组出数组的大小,因为其是连续存放的所以根据索引找元素比较方便,但添加删除元素时比较麻烦,在排序方面有优势

          链表:在定义链表时不需要给出其大小,因为其是以指针方式的存放数据所以无法根据索引找元素,但在使用添加删除项比较方便,在排序方面比较麻烦

          链表可分为三种:单链表,双链表,循环琏表

          下面是链表的部分代码:

	// 添加方法
	public void add(Object obj) {

		Node nodeAdd = new Node();
		nodeAdd.setObj(obj);
		nodeAdd.setNext(this.getNext());
		this.setParent(nodeAdd.getNext());
		this.setNext(nodeAdd);
		nodeAdd.setParent(this);
	}

 

// 删除方法
	public void del() {
		if (this.getNext() != null) {
			this.getParent().setNext(this.getNext());
			this.getNext().setParent(this.getParent());
		} else {
			this.getParent().setNext(null);
		}
	}

 

// 打印方法
	public void print() {
		System.out.println(this.getObj());
		Node node = this;
		while (node.getNext() != null) {
			System.out.println(node.getNext().getObj());
			node = node.getNext();
		}
	}

 

//定义两头打印方法
	public void printT(){
		
		Node node = this;
		while(node.parent!=null){
			node=node.getParent();
		}
		while (node.getNext() != null) {
			System.out.println(node.getNext().getObj());
			node = node.getNext();
		}
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值