Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2009, 22:50   #1
[MI_nor]
Пользователь
 
Регистрация: 03.11.2008
Сообщений: 94
По умолчанию Составление бинарного дерева

Необходимо составить бинарное дерево из списка структур, список составляется без проблем, но когда пытаюсь создать дерево, то корень дерева как бы его не присваивал не хочет задаваться значениями звена списка.

Структура, список структур и древа:

Код:
typedef struct
	       { unsigned char name[25];
		 int num;
		 int time,uptime;
		 int tarif;
		 int deti;
	       } worker;
worker BUF, DB[100];
	struct LIST
	       {
		worker some,*some_ptr;
		LIST *next, *last;
	       };
	struct tr{
		  worker some,*some_ptr;
		  tr *l, *r;
		 };
tr *tree=NULL;


LIST *root=NULL,*end=NULL;
LIST *list=NULL;
Сам код составления древа(для примера передается не вся структура а 1н её элемент):

Код:
//------Binary Tree--------------------------------------------------------//

tr *create(tr *root, tr *p, int value){
 if(!p){
  p = ( tr * ) malloc ( sizeof(tr) );
  p->l = 0;
  p->r = 0;
  p->some_ptr->uptime = value;
  if(!root) return p;
  if(value<root->some_ptr->uptime) root->l = p;
  else root->r = p;

  return p;
 }
 if(value < p->some_ptr->uptime) create(p, p->l, value);
 else create(p, p->r, value);

 return root;
}



void binary_tree_create(LIST *list, tr *tree)
 {
  list=root;
  tree=NULL;
  do
    {
     tree=create(tree,tree,list->some_ptr->uptime);
     list=list->next;
    }
  while (list!=end);

  //return tree;
 }

void printdeep(tr *p){
 if (p !=0)
  {
   printdeep(p->l);
   printf("%d", p->some_ptr->uptime);
   printdeep(p->r);
  }
}

//------------------------------------------------------------------------//
В чем тут неточность?
[MI_nor] вне форума Ответить с цитированием
Старый 08.05.2009, 00:28   #2
[MI_nor]
Пользователь
 
Регистрация: 03.11.2008
Сообщений: 94
По умолчанию

Ошибку нашел, все исправил. Всем спасибо
[MI_nor] вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обход бинарного дерева в ширину. Delphi 7. ZhooZhik Помощь студентам 4 01.12.2011 02:48
создание бинарного дерева zetrix Паскаль, Turbo Pascal, PascalABC.NET 2 30.11.2006 19:32