二叉查詢樹的基類實現(中)

2021-06-06 21:18:23 字數 4688 閱讀 1986

下面是字串資料型別的實現

stringclass.h 檔案?

1234

5678

9101112

1314

1516

1718

#ifndef string_class_h

#define string_class_h

#include "objectclass.h"

classstringclass:publicobjectclass

;

#endif

stringclass.cpp 檔案?

1234

5678

9101112

1314

1516

1718

1920

2122

2324

2526

2728

2930

3132

3334

3536

3738

3940

4142

4344

45#include "stringclass.h"

stringclass::stringclass()

stringclass::stringclass(char*data,intlength)

intstringclass::compare(objectclass *objcls)

//字串的值的大小主要看前面幾個字母,即按字典順序比較

//因此越到後面它的權重就越小

floatstringclass::getvalue()

returnreturnvalue;

}

voidstringclass::output()

intstringclass::getlength()

二叉查詢樹的基類實現(四)

下面是樹的節點資料型別的實現

這裡節點的成員資料域全部使用指標變數

binarytreenode.h 檔案?

1234

5678

9101112

1314

1516

1718

1920

2122

2324

2526

2728

2930

3132

3334

3536

3738

3940

4142

//此類為二叉查詢樹的樹節點類

//定義的關鍵子,值,父節點和兒子節點

#ifndef binary_tree_node_h

#define binary_tree_node_h

#include "objectclass.h"//通用類

classbinarytreenode

;

#endif

binarytreenode.cpp 檔案

? 12

3456

78910

1112

1314

1516

1718

1920

2122

2324

2526

2728

2930

3132

3334

3536

3738

3940

4142

4344

4546

4748

4950

5152

5354

5556

5758

5960

6162

6364

6566

6768

6970

7172

7374

7576

7778

7980

8182

8384

8586

8788

8990

9192

9394

9596

97#include "binarytreenode.h"

binarytreenode::binarytreenode()

binarytreenode::binarytreenode(objectclass *thekey,objectclass *thevalue)

intbinarytreenode::getleftwidth()

intbinarytreenode::getrightwidth()

objectclass *binarytreenode::getkey()

objectclass *binarytreenode::getvalue()

binarytreenode *binarytreenode::getleft()

binarytreenode *binarytreenode::getright()

binarytreenode *binarytreenode::getparent()

voidbinarytreenode::setwidth(intleftwidth,intrightwidth)

voidbinarytreenode::setvalue(objectclass *thevalue)

voidbinarytreenode::setkey(objectclass *thekey)

voidbinarytreenode::setleft(binarytreenode *left)

voidbinarytreenode::setright(binarytreenode *right)

voidbinarytreenode::setparent(binarytreenode *parent)

intbinarytreenode::getleftoutputlen()

voidbinarytreenode::setleftoutputlen(intlen)

本文出自:

二叉查詢樹的基類實現(四)

下面是樹的節點資料型別的實現 這裡節點的成員資料域全部使用指標變數 binarytreenode.h 檔案 此類為二叉查詢樹的樹節點類 定義的關鍵子,值,父節點和兒子節點 ifndef binary tree node h define binary tree node h include obje...

二叉查詢樹,實現

public class binarytree 移除乙個節點 分三種情況,乙個是 該節點本身是葉子,乙個是 該節點含有乙個兒子節點 乙個是 該節點還有兩個兒子節點 param e param comareelement private binarynoderemove element e,binar...

二叉查詢樹的實現

因為在關聯容器裡面主要的內部結構是rb tree,而紅黑樹又是一種平衡二叉樹,平衡二叉樹又是屬於二叉查詢樹,所以按照 侯捷介紹的順序依次來實現,今天先把二叉查詢樹這種最簡單的實現掉 首先,二叉查詢樹 不像heap中完全二叉樹那樣記憶體分配用線性儲存的,二叉查詢樹一般內部儲存是通過鍊錶來實現的,首先來...