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

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

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

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

采用遞歸方法實(shí)現(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é)果,有利于理解二叉樹(shù)遞歸
 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);
}

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

相關(guān)文章

  • C++ 關(guān)于STL中sort()對(duì)struct排序的方法

    C++ 關(guān)于STL中sort()對(duì)struct排序的方法

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

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

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

    C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)中堆排序的分析總結(jié)

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

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

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

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

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

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

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

    C++簡(jiǎn)明圖解this指針的使用

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

    C++手?jǐn)]智能指針的教程分享

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

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

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

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

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

最新評(píng)論

潢川县| 田东县| 平山县| 土默特左旗| 招远市| 江西省| 响水县| 平顺县| 中阳县| 中西区| 东源县| 鹰潭市| 友谊县| 靖边县| 高阳县| 巴塘县| 惠安县| 阿鲁科尔沁旗| 绥芬河市| 运城市| 丰都县| 古田县| 措美县| 仪征市| 富宁县| 东乡县| 大名县| 老河口市| 阳高县| 阳东县| 米泉市| 余江县| 麦盖提县| 安仁县| 聂拉木县| 阿城市| 扶风县| 苏尼特右旗| 常州市| 吉首市| 剑阁县|