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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
fov101
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 10
#1

Дерево и длина строки - C++

08.12.2012, 10:34. Просмотров 286. Ответов 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
#include<iostream>
#include<ctime>
#include<cstdlib>
 
struct node{
    struct node *left;
    struct node *right;
    int key;
    node(int ini):key(ini), left(NULL), right(NULL){std::cout<<"Constructed "<<ini<<"\n";}
    void findmin(int& min){
        std::cout<<key<<"  ";
        if(left!=NULL)left->findmin(min);
        if (key<min) min=key;
        if(right!=NULL) right->findmin(min);
    }
    void insert(int ini){
        if(left==NULL){
            left=new node(ini);
        }
        else if(right==NULL){
            right=new node(ini);
        }
        else{
            srand(time(0));
            int r=rand()%2;
            if(r==0) left->insert(ini);
            else right->insert(ini);
        }
    }
};
 
int main(){
    node *root=new node(15);
    int mas[]={15, 7, -9, 0, 43, -187, -18, 0, -3};
    for(int i=0; i<sizeof(mas)/sizeof(mas[0]); i++){
        root->insert(mas[i]);
    }
    int min;
    root->findmin(min);
    std::cout<<"\nMin value= "<<min;
}


Добавлено через 19 часов 16 минут
Помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 10:34     Дерево и длина строки
Посмотрите здесь:

строки в с++ проверить является четным числом длина введенной пользователем строки и вывести сообщение на экран - C++
1) проверить является четным числом длина введенной пользователем строки и вывести сообщение на экран помогите решить пожалуйста, болел...

Удалить из строки среднюю букву, если длина строки нечётная или две средних в противном случае - C++
Строки. Дана строка S. Удалите из неё среднюю букву, если длина строки нечётная или две средних в противном случае. Формат входных...

Длина строки в С++ - C++
Проблема с программой,дальше мыслей нету никаких. Нужно чтобы программа определяла длину строки(вводишь строку,а программа показывает...

длина строки - C++
Здравствуйте. Есть такой код. char stroka; char *str=new char ; cout&lt;&lt;str&lt;&lt;&quot; - &quot;&lt;&lt;strlen(str)&lt;&lt;endl&lt;&lt;stroka&lt;&lt;&quot; - ...

длина строки - C++
Определить длинну строки, которая введена пользователем.

Длина строки в С++ - C++
Здравствуйте, кто может, подскажите, как определить длину строки в С++. Знаю, что в паскале было бы так: c:=lenght(s); А как на С++ не...

Длина строки - C++
У меня задача стоит что бы пользователь ввёл какой-то текст, а потом программа вычислала длину этой стороки. #include &lt;iostream.h&gt; ...

Длина строки - вопросец. - C++
int le(char array) { int i; for(i=0;array != NULL;i++); return i; }

файл и длина строки - C++
Предположим, я создал файл в блокноте. Назвал его &quot;A.txt&quot;. В этом файле написал какое-то слово. Сохранил. Как мне подсчитать длину этого...

Длина строки в векторе - C++
Здравствуйте! Как узнать длину строки в векторе? vector&lt;string&gt; v; v.push_back(&quot;a&quot;); v.push_back(&quot;aa&quot;); ...

Полезная длина строки - C++
#include &lt;iostream&gt; #include &lt;string.h&gt; using namespace std; int main () { int wdcount = 0; char str1 = &quot;&quot;; char str2 =...

Длина строки до ввода ? - C++
#include &lt;iostream&gt; #include &lt;string&gt;//обеспечение доступа к классу string #include &lt;cstring&gt; using namespace std; int main(){ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
08.12.2012, 13:16     Дерево и длина строки #2
понял что вы имеете ввиду после долгого обдумывания написанного, грамотней было бы выразится так:
"Имеется дерево, в каждом из элементов которого хранится строка. Нужно найти элемент с наименьшей по длине строкой."
в само дерево нужно добавить строку char *str или string str. мой пример для первого случая
C++
1
2
3
4
5
    void findmin(int& min){
        if (strlen(str)<min) min=strlen(str);
        if(left!=NULL)left->findmin(min);
        if(right!=NULL) right->findmin(min);
    }
кстати что касается вашего примера... Честно говоря я даже не знаю где его можно использовать, это просто рандомный список какой-то. Дерево поиска есть упорядоченный массив.
добавление в него должно быть не рандомным, а зависеть от входящего ключа. т.е. если входящий ключи больше того который находится в элементе переходим в правое дерево. если меньше в левое. если такое же выходим с ошибкой.
Yandex
Объявления
08.12.2012, 13:16     Дерево и длина строки
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru