最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

本文實例講述了C語言實現(xià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),
 //看輸出結果,有利于理解二叉樹遞歸
 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程序算法設計的學習有所幫助。

相關文章

  • C++ 關于STL中sort()對struct排序的方法

    C++ 關于STL中sort()對struct排序的方法

    本篇文章介紹了,關于STL中sort()對struct排序的方法。需要的朋友參考下
    2013-04-04
  • 深入分析C++中類的大小

    深入分析C++中類的大小

    本篇文章深入分析了C++中類的大小問題。需要的朋友參考下
    2013-05-05
  • C語言數(shù)據(jù)結構中堆排序的分析總結

    C語言數(shù)據(jù)結構中堆排序的分析總結

    堆是計算機科學中一類特殊的數(shù)據(jù)結構的統(tǒng)稱,通常是一個可以被看做一棵完全二叉樹的數(shù)組對象。而堆排序是利用堆這種數(shù)據(jù)結構所設計的一種排序算法。本文將通過圖片詳細介紹堆排序,需要的可以參考一下
    2022-04-04
  • Qt C++實現(xiàn)錄屏錄音功能的示例詳解

    Qt C++實現(xiàn)錄屏錄音功能的示例詳解

    實現(xiàn)一個錄屏+錄音的功能且需要快速開發(fā),Qt無疑是一個非常好的選擇。他有豐富的類庫和接口可以很好的滿足開發(fā)需求。本文就來和大家聊聊具體的實現(xiàn)方法吧
    2023-03-03
  • C++與C語言的區(qū)別你知道嗎

    C++與C語言的區(qū)別你知道嗎

    這篇文章主要為大家詳細介紹了C++與C的區(qū)別,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • C語言實現(xiàn)鏈表與文件存取的示例代碼

    C語言實現(xiàn)鏈表與文件存取的示例代碼

    這篇文章主要和大家分享C語言實現(xiàn)鏈表與文件存取的示例代碼,可以實現(xiàn)建立鏈表,然后把鏈表數(shù)據(jù)存儲到文件中,然后把文件數(shù)據(jù)存儲到數(shù)組中并輸出,感興趣的可以學習一下
    2022-04-04
  • C++簡明圖解this指針的使用

    C++簡明圖解this指針的使用

    this 指針在C++類和對象中是個很方便實用的關鍵字,可以簡化對象成員屬性的調(diào)用,使代碼表達的含義更加準確;在之前的學習中我們都可以判斷變量所占內(nèi)存空間大小,那么我們創(chuàng)建的類對象所占的內(nèi)存空間怎么計算呢?想知道this的妙用和類對象占用的內(nèi)存空間就來跟我學習吧
    2022-06-06
  • C++手擼智能指針的教程分享

    C++手擼智能指針的教程分享

    在前文中小編為大家介紹了C++智能指針的一些使用方法和基本原理,所以本文就來自己動手,從0到1實現(xiàn)一下自己的unique_ptr和shared_ptr吧
    2023-05-05
  • 探究C++中指針與數(shù)組運算符優(yōu)先級

    探究C++中指針與數(shù)組運算符優(yōu)先級

    C++中與指針和數(shù)組相關的運算符優(yōu)先級,通過實際代碼示例解釋了運算符的左結合與右結合方式,以及如何使用圓括號()來改變默認的結合順序,文章還提供了一個優(yōu)先級表,列出了運算符的優(yōu)先級和結合性,幫助讀者更好地理解復雜表達式中運算符的調(diào)用順序
    2024-10-10
  • c語言經(jīng)典習題之逆序字符串詳解

    c語言經(jīng)典習題之逆序字符串詳解

    這篇文章主要為大家介紹了c語言習題之逆序字符串,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01

最新評論

乌拉特后旗| 陵川县| 固始县| 土默特左旗| 潼关县| 阿城市| 枣阳市| 河东区| 左权县| 桦甸市| 高唐县| 云梦县| 抚松县| 连南| 湾仔区| 天津市| 石棉县| 黔江区| 黔西县| 英山县| 枞阳县| 太谷县| 华宁县| 洛宁县| 望江县| 皮山县| 重庆市| 石城县| 河东区| 平江县| 虎林市| 永新县| 河北省| 衡东县| 南开区| 成武县| 英超| 益阳市| 井研县| 翁牛特旗| 和硕县|