java链表的数据结构和二叉树的实现
2016-07-21 21:13
856 查看
链表的算法:
package lian.biao;
public class 链表 {
}
//链表储存类
class a{
private node root;//根节点
//链表的插入
public void add(int data){
}
二叉树的算法:
其实原理和上面一样的,都是采用递归和内部类进行实现的。
算法:
package lian.biao;
public class 二叉树 {
}
//二叉树的储存类
class a{
private node root;//根节点
//二叉树的添加
public void add(int data){
}
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+"->");后续遍历 } }
}
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- [C/C++]反转链表
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序