[javase]链表的循序渐进了解
来源:互联网 发布:川普 好莱坞 知乎 编辑:程序博客网 时间:2024/06/05 19:44
/**
* 最原始的链表
* */
public class List2 {
public static void main(String[] args) {
//为了减少客户端的细节处操作 现在交由一个link类来进行链表的数据插入和取出(输出)
Link link=new Link();//首先创建一个Link对象
link.add("我是");//通过link添加数据
link.add("至尊");//通过link添加数据
link.add("戒撸");//通过link添加数据
link.add("之王");//通过link添加数据
link.print();//打印数据,由于一个link操作一个node 所以不需要传参
}
}
class Link{//负责数据的插入和输出,要操作node1
private Node1 root;//根节点
public void add(String data) {
Node1 newNode=new Node1(data);//首先初始化一个对象存放值,后面会找到适当的位置存放它
if(this.root==null) {//当前节点为空,就把newNode塞给它
this.root=newNode;
}
else {
this.root.findNode(newNode);//这里代码要找到null的节点,吧newNode塞给它,找null的任务交回给node1类,方法名为findNode
}
}
public void print() {//打印链表内容,需要根节点
System.out.println(this.root.getData());
while(this.root.getNext()!=null) {
System.out.println(this.root.getNext().getData());
this.root=this.root.getNext();
}
}
}
class Node1{//节点类
private String data;//存放数据
private Node1 next;//next节点
public Node1(String data) {//带参构造方法
this.data=data;
}
public void setData(String data) {
this.data=data;
}
public String getData() {
return this.data;
}
public void setNext(Node1 node) {
this.next=node;
}
public Node1 getNext() {
return this.next;
}
public void findNode(Node1 newNode) {//找到空的位置,吧newNode塞进去,这时候newNode已经连带新的值了,不用考虑setData了
if(this.next==null) {//判断next是不是为空,是就把newNode塞给next
this.setNext(newNode);
}
else {
this.next.findNode(newNode);
}
}
}
* 最原始的链表
* */
public class List2 {
public static void main(String[] args) {
//为了减少客户端的细节处操作 现在交由一个link类来进行链表的数据插入和取出(输出)
Link link=new Link();//首先创建一个Link对象
link.add("我是");//通过link添加数据
link.add("至尊");//通过link添加数据
link.add("戒撸");//通过link添加数据
link.add("之王");//通过link添加数据
link.print();//打印数据,由于一个link操作一个node 所以不需要传参
}
}
class Link{//负责数据的插入和输出,要操作node1
private Node1 root;//根节点
public void add(String data) {
Node1 newNode=new Node1(data);//首先初始化一个对象存放值,后面会找到适当的位置存放它
if(this.root==null) {//当前节点为空,就把newNode塞给它
this.root=newNode;
}
else {
this.root.findNode(newNode);//这里代码要找到null的节点,吧newNode塞给它,找null的任务交回给node1类,方法名为findNode
}
}
public void print() {//打印链表内容,需要根节点
System.out.println(this.root.getData());
while(this.root.getNext()!=null) {
System.out.println(this.root.getNext().getData());
this.root=this.root.getNext();
}
}
}
class Node1{//节点类
private String data;//存放数据
private Node1 next;//next节点
public Node1(String data) {//带参构造方法
this.data=data;
}
public void setData(String data) {
this.data=data;
}
public String getData() {
return this.data;
}
public void setNext(Node1 node) {
this.next=node;
}
public Node1 getNext() {
return this.next;
}
public void findNode(Node1 newNode) {//找到空的位置,吧newNode塞进去,这时候newNode已经连带新的值了,不用考虑setData了
if(this.next==null) {//判断next是不是为空,是就把newNode塞给next
this.setNext(newNode);
}
else {
this.next.findNode(newNode);
}
}
}
阅读全文
0 0
- [javase]链表的循序渐进了解
- 循序渐进了解SPRING(一)
- 循序渐进,了解Hive是什么!
- Toast的高级自定义方式-循序渐进带你了解toast
- javaSE开发了解
- SQL循序渐进(2)表的基础知识
- Spring整理系列(17)————循序渐进了解spring事务管理的几种方式
- Spring整理系列(17)————循序渐进了解spring事务管理的几种方式
- [javase]javase的7788
- 循序渐进
- 循序渐进
- 循序渐进
- 循序渐进
- 几张图让你彻底了解JAVASE、JAVAEE、JAVAWEB整个的知识体系
- 快速学习javaSE基础3-java必须了解的基本语法1(熟记)
- GTP协议循序渐进(三)----通过实例了解TEID
- GTP协议循序渐进(三)----通过实例了解TEID
- 循序渐进我的程序员生涯
- 二分查找C语言
- Java中的String、StringBuilder和StringBuffer
- python中字符串操作总结
- 回文字符串-最长公共子序列
- 算法练习——前K小数
- [javase]链表的循序渐进了解
- PAT乙级1042. 字符统计(20)
- Java开发相关官方存档下载地址
- 使用javaini对.ini文件进行操作
- leetcode 522. Longest Uncommon Subsequence II 最长非公共子序列
- hadoop学习(五)----HDFS的java操作
- Django框架学习笔记(2.实现用户登录(上))
- mybatis获取自增主键的值
- Python基础-单元测试-unittest.TestCase(setUp和tearDown)