,   CyberForum.ru

- C++

 
2 / 2 / 0
: 13.03.2014
: 73
09.07.2015, 12:50     #1
. . :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <cstddef>
# include <conio.h>
#include <stdio.h>
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
//Í*ø* ñòðóêòóð*
struct node
{
    int info; //È*ôîðì*öèî**îå ïîëå
    node *l, *r;//Ëåâ*ÿ è Ïð*â*ÿ ÷*ñòü äåðåâ*
};
 
node * tree=NULL; //Îáúÿâëÿåì ïåðåìå**óþ, òèï êîòîðîé ñòðóêòóð* Äåðåâî
 
/*ÔÓÍÊÖÈß ÇÀÏÈÑÈ ÝËÅÌÅÍÒÀ Â ÁÈÍÀÐÍÎÅ ÄÅÐÅÂÎ*/
void push(int a,node **t)
{
    int n;
    if ((*t)==NULL) //Åñëè äåðåâ* *å ñóùåñòâóåò
    {
        (*t)=new node; //Âûäåëÿåì ï*ìÿòü
        (*t)->info=a; //Êë*äåì â âûäåëå**îå ìåñòî *ðãóìå*ò a
        (*t)->l=(*t)->r=NULL; //Î÷èù*åì ï*ìÿòü äëÿ ñëåäóþùåãî ðîñò*
        return; //Ç*ëîæèëè ñåìå÷êî, âûõîäèì
         
    }
       //Äåðåâî åñòü
        if (a>(*t)->info) push(a,&(*t)->r); //Åñëè *ðãóìå*ò * áîëüøå ÷åì òåêóùèé ýëåìå*ò, êë*äåì åãî âïð*âî
        else push(a,&(*t)->l); //È**÷å êë*äåì åãî âëåâî
}
 
/*ÔÓÍÊÖÈß ÎÒÎÁÐÀÆÅÍÈß ÄÅÐÅÂÀ ÍÀ ÝÊÐÀÍÅ*/
void print (node *t,int u) 
{
    if (t==NULL) return; //Åñëè äåðåâî ïóñòîå, òî îòîáð*æ*òü *å÷åãî, âûõîäèì
    else //È**÷å
    {
    print(t->l,++u);//Ñ ïîìîùüþ ðåêóðñèâ*îãî ïîñåù*åì ëåâîå ïîääåðåâî
    for (int i=0;i<u;++i) cout<<"|";
    cout<<t->info<<endl; //È ïîê*çûâ*åì ýëåìå*ò
    u--;
    }
    print(t->r,++u); //Ñ ïîìîùüþ ðåêóðñèè ïîñåù*åì ïð*âîå ïîääåðåâî
}
 
int main()
{   int n,s;
     int choice=-1;
     while(choice!=0) 
     {
     printf("1. Sozdanie dereva\n");
     scanf("%d",&choice);
     if (choice==1)
        {
            cout<<"vvedite kolichestvo elementov  ";
             cin>>n; //Ââîäèì êîëè÷åñòâî ýëåìå*òîâ
              for (int i=0;i<n;++i)
              {
                  cout<<"vvedite chislo  ";
                  cin>>s; //Ñ÷èòûâ*åì ýëåìå*ò ç* ýëåìå*òîì
                  push(s,&tree); //È ê*æäûé êë*äåì â äåðåâî
              }
                   cout<<"your tree\n";
                   print(tree,0);
                  ;    
        }
 
     }
   getch(); getch();   
}
26
,
Similar
41792 / 34177 / 6122
: 12.04.2006
: 57,940
09.07.2015, 12:50    
:

C++ , ,
. C++
C++
C++
C++
C++
, C++
C++ ( )



:
.

: 03:17. GMT +3.
- , ,
-
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
@Mail.ru