每周总结6

每周总结6

java没有指针,如何实现链表。

怎么做呢。

先自己思考再加查找吧。

链表,就定义一个结构体java中是类。

类是引用类型的数据结构,类似于结构体。

然后创建对象就像是创建数组。

java中是有对象数组的。

public class Student{
   // balabala;
}
Student s = new Student();//调用无参构造构造一个新的对象s;

Student[] S = new Student[5];
for(int i=0;i<=4;i++)//一定要注意数组越界之类的情况。
{
    
}

但是

这不就不是链表了吗。

链表本来就是为了实现解决数组长度一定的浪费内存难修改的问题而创立的。

而且可能要链接不同的内容。

那如何实现不同类之间的链接?

先看源码和帮助文档。

自己写一个LinkedList类//(果然是驼峰命名法。)

然后实现连接。用什么连接?

c中用指针可以标示地址查找。

java中类似的功能好像只有引用类型this。

public class Test{
    public void main(String[] args){
	
    }
}

@是重写了方法的意思吧

不仅要写一个Linkedlist类,还要实现里面的方法。

java的面向对象设计,直接写一个类去模拟节点,模拟链表,把链表当做对象去创建。

当做一种类,Everthing is a Object.万物皆是对象。

对哦,链表本来就是通过结构体实现的。

先写节点。

节点类,链表类和方法?都有节点了要什么链表。。。。那链表就放方法吧

然后再加Test类。

节点。

前节点地址

和内容

下一个节点的地址。

地址怎么实现?

访问权限修饰符

public > protected > default (默认的,一般不写) > private;

公开的 受保护的 默认的 私有的;

包含写在一起算了。

//链表节点
class Node{
protected Node next;//受到保护的,同包和子类父类中使用,创建了一个 下一个节点
    //引用类型,相当于指针。
    //就把此处的引用类型当做指针就行。
protected int data;//这是数据内容

public Node() {}
 
}
//创建一个链表的类
class ListNode{
	int val;	//数值 data
	ListNode next;	// 结点 node//初始值直接默认为空
	
	ListNode(int x){	//可以定义一个有参构造方法,也可以定义一个无参构造方法
		val = x;
	}
	// 添加新的结点
	public void add(int newval) {
		ListNode newNode = new ListNode(newval);//用有参构造,构造一个新对象
		if(this.next == null)
			this.next = newNode;//如果他是空指针,则指向下一个。
		else
			this.next.add(newval);//如果有指针,则再造一个。。。。检索尾接法
	}
	// 打印链表
	public void print() {
		System.out.print(this.val);
		if(this.next != null)
			{
				System.out.print("-->");
				this.next.print();
			}
	}
}

头接法和尾接法是节点的插入。头接插在头后面一个。尾接法接在尾巴后面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值