public class ListNode {
int value; // 数值域 //-------------------->数值的类型
ListNode next; //节点域
//定义一个构造函数
public ListNode(int value){
= value;
}
// java的强数据类型
// 基本数据类型 引用数据类型 -----》java为什么喜欢定义数据类型
// js: var a = '123'; var b = 10; var f = 1.0;
//java: String a = "123"; int b = 1; float f = 1.0;
// ------>定义数据类型-----》明确如何开辟内存空间---------->定义什么样的数据类型就以为值在内存当中开辟什么样的内存空间
// int a = 10; ----> 1bit 31bit
// float a = 10.0; -----> 1bit 8bit 23bit
// -------------------------------------》
// next区域存储的是下一个节点(对象)的地址 ------- 什么才能存储对象的地址?
// ListNode node1 = new ListNode(1); node1变量之所以能存储对象的地址是因为ListNode这个类型定义在我们当前这个对象在内存当中开辟什么样的内存空间。
// 所以我们当前next变量的类型只能是ListNode。
@Override
public String toString() {
return "ListNode{" +
"value=" + value +
", next=" + next +
'}';
}
}
接着创建LinkList:
public class LinkList {
//定义链表记录器
ListNode head = null;
/**
* 尾插法
* @param value
*/
public void insert(int value){
//创建节点
ListNode newNode = new ListNode(value);
//生成链表
//1.判断链表记录器有没有值
if(head==null){
head = newNode;
return;
}
// 链表记录器有值
ListNode indexNode = head;
while( !=null){
indexNode =;
}
= newNode;
}
// java的强数据类型
// 基本数据类型 引用数据类型 -----》java为什么喜欢定义数据类型
// js: var a = '123'; var b = 10; var f = 1.0;
//java: String a = "123"; int b = 1; float f = 1.0;
// ------>定义数据类型-----》明确如何开辟内存空间---------->定义什么样的数据类型就以为值在内存当中开辟什么样的内存空间
// int a = 10; ----> 1bit 31bit
// float a = 10.0; -----> 1bit 8bit 23bit
// -------------------------------------》
// next区域存储的是下一个节点(对象)的地址 ------- 什么才能存储对象的地址?
// ListNode node1 = new ListNode(1); node1变量之所以能存储对象的地址是因为ListNode这个类型定义在我们当前这个对象在内存当中开辟什么样的内存空间。
// 所以我们当前next变量的类型只能是ListNode。