二叉樹,單鏈表,反向鍊錶,stack棧 二叉查詢樹

2021-08-31 08:51:09 字數 2657 閱讀 9673

// 二叉查詢樹節點 binary search tree node

public class binarysearchtreenode

/// 插入節點

public void insertnode(binarysearchtreenode node)

else

this.right.insertnode(node);

}else

else

this.left.insertnode(node);}}

/// 二叉查詢樹查詢

public bool searchkey(int searchvalue)

else

}// 中序遍歷

public void middledisplay()

// 前序遍歷

public void frontdisplay()

// 後序遍歷

public void behinddisplay()

}/// 二叉查詢樹

public class binarysearchtree

/// 生成乙個二叉查詢樹

/// 二叉查詢樹根節點的值

public binarysearchtree(int nodevalue)

/// 在二叉查詢樹上插入乙個節點

/// 插入節點的值

public void insertbinarysearchtreenode(int nodevalue)

else

root.insertnode(insertnode);

return;

}/// 在二叉查詢樹上查詢乙個數

/// 需要查詢的值

/// 是否找到查詢的值

public bool searchkey(int searchvalue)

/// 二叉查詢樹中序遍歷

public void middledisplay()

/// 二叉查詢樹前序遍歷

public void frontdisplay()

/// 二叉查詢樹後序遍歷

public void behinddisplay()

/// 二叉查詢樹排序

/// 需要排序的陣列

public static void binarysearchtreesort(int a)

/// 二叉查詢樹查詢

/// 進行查詢的陣列

/// 需要查詢的樹

public static bool binarysearchtreesearch(int a, int searchkey)

}namespace 二叉樹

public node left;

public node right;

public void insert(node node)

else

else

} } //遞迴

public void show()

}class binarytree

//如果樹是空,第一次加節點

root.insert(node);

}public void showinorder(node node) //中序遍歷(in order):左中右。先(前)序遍歷(pre order):中左右。後序遍歷(post order):左右中。

public void show()

}class a

} } 結果:5,6,7,13,26

單鏈表class node

public int a

set }

public node next;

}class linkedlist

node tmp=header;

node t=header;

while(tmp.a < n.a)

t.next=n;

n.next=tmp;}}

public void out()

} }class test

} }反向鍊錶

class link //this class reverse the linkedlist

class createlink //the class create the linkedlist

console.writeline("please enter number:");

str=console.readline();}}

public void display()

}public void reversed() // the mothod reversed the linkedlist

com=header;

header=l;

tmp=l.next;

l.next=com;}}

public void show()

} }class tester

} }stack 棧

class node

public int a

set }

public node next;

}class linkedlist

}public void out()

} }class stack : linkedlist

public int pop()

}class test

} } }

二叉樹 二叉鍊錶

include using namespace std typedef char elemtype int n 0 typedef struct binode binode class bitree bitree binode getroot void preorder binode root 前序...

二叉樹(二叉鍊錶實現)

二叉鍊錶結構的二叉樹模型,棧用自己寫的模版,佇列就不了 直接用stl的,不然 太長了 檔案 tree.h include include includeusing namespace std templateclass my stack templateclass node 結點類 node t d...

二叉鍊錶儲存二叉樹

鏈式儲存結構 二叉樹的鏈式儲存結構是指,用鍊錶來表示一棵二叉樹,即用鏈來指示元素的邏輯關係。其中,data域存放某結點的資料資訊 lchild與rchild分別存放指向左孩子和右孩子的指標,當左孩子或右孩子不存在時,相應指標域值為空 用符號 或null表示 利用這樣的結點結構表示的二叉樹的鏈式儲存結...