欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言實現(xiàn)輸入一顆二元查找樹并將該樹轉(zhuǎn)換為它的鏡像

 更新時間:2014年09月16日 16:54:45   投稿:shichen2014  
這篇文章主要介紹了C語言實現(xiàn)輸入一顆二元查找樹并將該樹轉(zhuǎn)換為它的鏡像,是數(shù)據(jù)結(jié)構(gòu)中二元查找樹的一個比較經(jīng)典的算法,有不錯的借鑒價值,需要的朋友可以參考下

本文實例講述了C語言實現(xiàn)輸入一顆二元查找樹并將該樹轉(zhuǎn)換為它的鏡像的方法,分享給大家供大家參考。具體實現(xiàn)方法如下:

采用遞歸方法實現(xiàn)代碼如下:

/* 
* Copyright (c) 2011 alexingcool. All Rights Reserved. 
*/ 
#include <iostream>
#include <iterator>
#include <algorithm>

using namespace std;

struct Node {
 Node(int i = 0, Node *l = NULL, Node *r = NULL) : item(i), left(l), right(r) {}
 
 int item;
 Node *left;
 Node *right;
};

Node *Construct()
{
 Node *node6 = new Node(11);
 Node *node5 = new Node(9);
 Node *node4 = new Node(7);
 Node *node3 = new Node(5);
 Node *node2 = new Node(10, node5, node6);
 Node *node1 = new Node(6, node3, node4);
 Node *root = new Node(8, node1, node2);

 return root;
}

void Convert(Node *root)
{
 if(root == NULL)
 return;

 Convert(root->left);
 //在這里試試swap(root->left, root->right),
 //看輸出結(jié)果,有利于理解二叉樹遞歸
 Convert(root->right);
 swap(root->left, root->right); 
}

void InOrder(Node *root)
{
 if(root) {
 InOrder(root->left);
 cout << root->item << " ";
 InOrder(root->right);
 }
}

void main()
{
 Node *root = Construct();
 InOrder(root);
 cout << endl;
 Convert(root);
 InOrder(root);
}

希望本文所述實例對大家C程序算法設(shè)計的學(xué)習(xí)有所幫助。

相關(guān)文章

  • 基于Qt編寫超精美自定義控件的示例代碼

    基于Qt編寫超精美自定義控件的示例代碼

    無論是哪一門開發(fā)框架,如果涉及到UI這塊,肯定需要用到自定義控件,本文為大家準備了一些基于QT編寫的超精美自定義控件,需要的可以參考一下
    2023-07-07
  • C++ vector及實現(xiàn)自定義vector以及allocator和iterator方式

    C++ vector及實現(xiàn)自定義vector以及allocator和iterator方式

    這篇文章主要介紹了C++ vector及實現(xiàn)自定義vector以及allocator和iterator方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 一文詳解C++17中的結(jié)構(gòu)化綁定

    一文詳解C++17中的結(jié)構(gòu)化綁定

    C++17中的結(jié)構(gòu)化綁定(structured binding)是指將指定名稱綁定到初始化程序的子對象或元素,本文主要來和大家聊聊C++17中結(jié)構(gòu)化綁定的實現(xiàn),感興趣的小伙伴可以了解下
    2023-12-12
  • Qt編寫地圖之實現(xiàn)覆蓋物坐標和搜索

    Qt編寫地圖之實現(xiàn)覆蓋物坐標和搜索

    地圖應(yīng)用中經(jīng)常會需要有覆蓋物坐標和搜索的功能,本文將利用Qt實現(xiàn)這一功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-03-03
  • C++回溯法實例分析

    C++回溯法實例分析

    這篇文章主要介紹了C++回溯法,實例講述了回溯法的原理與實現(xiàn)方法,最后給出了回溯法解決八皇后的實例,需要的朋友可以參考下
    2014-09-09
  • C語言實現(xiàn)貪吃蛇小游戲

    C語言實現(xiàn)貪吃蛇小游戲

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)貪吃蛇小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C語言實現(xiàn)倉庫物資管理系統(tǒng)

    C語言實現(xiàn)倉庫物資管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)倉庫物資管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • C語言實現(xiàn)學(xué)生打卡系統(tǒng)

    C語言實現(xiàn)學(xué)生打卡系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)學(xué)生打卡系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 一文讀懂c++之static關(guān)鍵字

    一文讀懂c++之static關(guān)鍵字

    這篇文章主要介紹了c++之static關(guān)鍵字的的相關(guān)資料,文中示例代碼非常詳細,供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • 關(guān)于C++使用std::chrono獲取當前秒級/毫秒級/微秒級/納秒級時間戳問題

    關(guān)于C++使用std::chrono獲取當前秒級/毫秒級/微秒級/納秒級時間戳問題

    這篇文章主要介紹了C++使用std::chrono獲取當前秒級/毫秒級/微秒級/納秒級時間戳,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07

最新評論