二叉樹的進一步學習

2021-08-14 09:58:13 字數 1926 閱讀 2373

一,建立一顆二叉樹

bintree()

:root(null)

{} void _bintree(t* str, size_t size, const t& invalid)

bintree(bintree& bt)

bintree& operator=(const bintree& bt)

}

二,二叉樹的拷貝建構函式

bintree(bintree& bt)

pnode copybintree(pnode t)

return pnewnode;

}

三,賦值運算子的過載

bintree& operator=(const bintree& bt)		}

void destroy(pnode root)

}

四,前序,中序,後序遍歷

void preorder()

void inorder()

void postorder()

void _preorder(pnode root) }

void _inorder(pnode root) }

void _postorder(pnode root)

}

五,層序遍歷

void levelorder()//層序遍歷

}

六,二叉樹的深度

size_t _depth(node* root)//二叉樹的深度

七,二叉樹中節點的個數

size_t _size(node* root)//二叉樹的結點個數

八,總**
#include#include#include#includeusing namespace std;

templatestruct bintreenode

bintreenode* _pleft;

bintreenode* _pright;

t _data;

};templateclass bintree

void _bintree(t* str, size_t size, const t& invalid)

bintree(bintree& bt)

bintree& operator=(const bintree& bt) }

~bintree()

void preorder()

void inorder()

void postorder()

void levelorder()//層序遍歷 }

size_t _depth(node* root)//二叉樹的深度

size_t _size(node* root)//二叉樹的結點個數

protected:

node* _create(t* a, size_t size, size_t& index, const t& invalid)

return root;

} pnode copybintree(pnode t)

return pnewnode;

} void destroy(pnode root) }

void _preorder(pnode root) }

void _inorder(pnode root) }

void _postorder(pnode root) }

private:

pnode root;

};int main(void)

Looper Handler進一步學習

package com.test.looper import android.os.bundle import android.os.handler import android.os.handlerthread import android.os.looper import android.os....

Sevlet進一步學習

request物件與response物件是tomcat建立的,不需要我們建立。requst物件的一些常用方法 獲取請求引數通用方式 不論get還是post請求方式都可以使用下列方法來獲取請求引數 string getparameter string name 根據引數名稱獲取引數值 username...

html 進一步學習

標籤 基本格式 lang en charset utf 8 titletitle head body html 不是標籤,而是一種宣告,讓瀏覽器知道 html 是用什麼版本編寫的,這裡表示用的 html5 版本 這裡類似於程式語言中主函式或者主方法,也就是乙個入口,整個 html 從這裡開始,並且所...