Форум программистов, компьютерный форум CyberForum.ru

Зачем нужно u--? - C++

Восстановить пароль Регистрация
 
Виkтория
 Аватар для Виkтория
1 / 1 / 0
Регистрация: 04.06.2013
Сообщений: 63
09.12.2013, 02:58     Зачем нужно u--? #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
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
 
struct tree
{
    int data;
    tree* left, *right;
} *root;
 
 void pushs(int data, tree** root)
   {
       if(!(*root))
       {
          *root = new tree;
          (**root).data= data;
          (**root).left=(**root).right=NULL;
          return;
       }
       else
           if (data < (*root)->data)
               pushs( data, &(*root)->left); 
           else
               pushs( data, &(*root)->right);
   }
C++
1
2
3
4
5
6
7
8
9
10
11
12
void show (tree *root,int u) 
{
    if (root==NULL) return;
    else 
    {
    show(root->left,++u);
    for (int i=0;i<u;++i) cout<<"|";
    cout<<root->data<<endl; 
    u--;
    }
    show(root->right,++u);
}



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
int NodeCount(tree *root)
{
    if (root->left == NULL && root->right == NULL)
        return 1;
    int left, right;
    if (root->left != NULL)
        left = NodeCount(root->left);
    else
        left = 0;
    if (root->right != NULL)
        right = NodeCount(root->right); 
    else 
        right = 0;
 
    return left+right+1;
}
 
void delete_tree(tree* root)
{
  if (root != NULL) 
  {
    delete_tree(root->left);
    delete_tree(root->right);
    delete root;
  }
}
 
  void main ()
{   
    tree * root=NULL;
    int n; 
    int s; 
    cout<<"vvedite kolvo elementov:  ";
    cin>>n; 
    for (int i=0;i<n;++i)
    {
    cout<<"vvedite chislo:";
    cin>>s; 
    pushs(s,&root); 
    }
    cout<<"vashe derevo\n";
    show(root,0);
    cout<<NodeCount(&*root);
    delete_tree(&*root);
    _getch();       
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
МаксимТ
 Аватар для МаксимТ
47 / 47 / 4
Регистрация: 17.08.2012
Сообщений: 225
09.12.2013, 03:19     Зачем нужно u--? #2
конкретно в данном случае это не обязательно.
просто автор поленился писать u+1 (дважды)
Виkтория
 Аватар для Виkтория
1 / 1 / 0
Регистрация: 04.06.2013
Сообщений: 63
09.12.2013, 03:27  [ТС]     Зачем нужно u--? #3
а как сделать без него ?? или обьяснить это? помогите ?
МаксимТ
 Аватар для МаксимТ
47 / 47 / 4
Регистрация: 17.08.2012
Сообщений: 225
09.12.2013, 03:29     Зачем нужно u--? #4
C++
1
2
3
show(root->left,u+1);
for (int i=0;i<u+1;++i) cout<<"|";
cout<<root->data<<endl;
Yandex
Объявления
09.12.2013, 03:29     Зачем нужно u--?
Ответ Создать тему
Опции темы

Текущее время: 00:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru