码迷,mamicode.com
首页 > 其他好文 > 详细

Sicily-1156

时间:2014-12-08 21:16:50      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   os   sp   for   on   

一.      模仿树的的先序遍历。范围是1000个节点。用数组存储节点的信息。

二.      要注意的是,头结点是不确定的,所以在前序遍历之前要找出头结点,除了头结点的下标值出现一次之外,其他结点的下标值都会出现两次,根据这个特征可以利用异或运算(^),算出头结点。

三.      源码

 1 //
 2 //  main.cpp
 3 //  sicily-1156
 4 //
 5 //  Created by ashley on 14-10-12.
 6 //  Copyright (c) 2014年 ashley. All rights reserved.
 7 //
 8 
 9 #include <iostream>
10 using namespace std;
11 typedef struct
12 {
13     char element;
14     int leftChild;
15     int rightChild;
16 }node;
17 node binaryTree[1001];
18 void preorder(int front)
19 {
20     cout << binaryTree[front].element;
21     if (binaryTree[front].leftChild != 0) {
22         preorder(binaryTree[front].leftChild);
23     }
24     if (binaryTree[front].rightChild != 0) {
25         preorder(binaryTree[front].rightChild);
26     }
27 }
28 int main(int argc, const char * argv[])
29 {
30     int counts = 0;
31     char ele;
32     int number;
33     int left, right;
34     while (cin >> counts) {
35         int source = 0;
36         for (int i = 0; i < counts; i++) {
37             cin >> number >> ele >> left >> right;
38             source = source ^ left ^ right ^ number;
39             binaryTree[number] = node{ele, left, right};
40         }
41         preorder(source);
42         cout << endl;
43     }
44     return 0;
45 }

 

Sicily-1156

标签:style   blog   io   ar   color   os   sp   for   on   

原文地址:http://www.cnblogs.com/ashley-/p/4151826.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!