java链表的数据结构和二叉树的实现
来源:互联网 发布:巨人网络2016财报 编辑:程序博客网 时间:2024/05/17 21:50
链表的算法:
package lian.biao;
public class 链表 {
/** * @param args */public static void main(String[] args) { // TODO Auto-generated method stub a a=new a(); a.add(1); a.add(2); a.add(3); a.add(4); a.output();}
}
//链表储存类
class a{
private node root;//根节点
//链表的插入
public void add(int data){
if(root!=null){ root.add(data); } else{ root=new node(data); }}public void output(){ if(root!=null){ System.out.println(root.data); root.output(); }}//链表内部类class node { private node next; private int data; public node(int data){ this.data=data; } public void add(int data){ //判断是否为空,调用递归进行添加 if(this.next==null){ next=new node(data); } else{ next.add(data); } } public void output(){ //判断是否为空,调用递归进行输出 if(this.next!=null){ System.out.println(next.data); next.output(); } }}
}
二叉树的算法:
其实原理和上面一样的,都是采用递归和内部类进行实现的。
算法:
package lian.biao;
public class 二叉树 {
/** * @param args */public static void main(String[] args) { // TODO Auto-generated method stub a a=new a(); a.add(4); a.add(2); a.add(1); a.add(3); a.add(6); a.add(5); a.add(7); a.add(8); a.output(); System.out.println(""); // a.before();}
}
//二叉树的储存类
class a{
private node root;//根节点
//二叉树的添加
public void add(int data){
if(root!=null){ root.add(data); } else{ root=new node(data); }}//public void output(){ if(root!=null){ // System.out.println(root.data); root.output(); }}//二叉树的内部类class node { private node left,right; private int data; public node(int data){ this.data=data; } public void add(int data){ if(data>this.data){ if(right!=null){ right.add(data); } else{ right=new node(data); } }else if(data<=this.data){ if(left!=null){ left.add(data); } else{ left=new node(data); } } } //二叉树的输出,按照中序遍历(左中右进行输出) public void output(){ //System.out.print(data+"->");前序遍历 if(left!=null){ left.output(); } System.out.print(data+"->");//中序遍历 if(right!=null){ right.output(); } //System.out.print(data+"->");后续遍历 } }
}
1 0
- java链表的数据结构和二叉树的实现
- 数据结构:二叉树的二叉链表存储--Java实现
- 数据结构:二叉树的三叉链表存储--Java实现
- 【数据结构和算法】之二叉树的java实现
- 【数据结构】之二叉树的java实现
- 【数据结构】之二叉树的java实现
- 数据结构之二叉树的Java实现
- 【数据结构】之二叉树的java实现
- 数据结构--二叉查找树的java实现
- 【数据结构】之二叉树的java实现
- 【数据结构】之二叉树的java实现
- 【数据结构】之二叉树的java实现
- Java数据结构之二叉树的实现
- 数据结构之二叉树的Java实现
- 关于java二叉树数据结构的实现
- 【数据结构】之二叉树的java实现
- 数据结构 --- Java之二叉树的实现
- 【数据结构】之二叉树的java实现
- The True Cost of Calls
- leetcode题集——sudoku-solver
- HDD is Outdated Technology
- 训练之DP-Doing homework
- 读取.csv数据/写入另外一个.csv (Python)
- java链表的数据结构和二叉树的实现
- (OK)(OK) Install Docker on Fedora 23
- 1.简介
- Java中的继承:父类和子类的关系
- Leetcode Unique Paths
- JavaScript 高级框架设计
- ROW_NUMBER()的用法
- SPAF
- java巩固再看回调函数