Поиск по сайту:


Смотри также:

Рекурсивные функции: Разместить на шахмотной доске максимальное количество коней так, чтобы они не находились друг у друга «под боем». - Исходник.

Указатели на функции (итератор) - Исходник.

Пример применения составных файлов, работа с IStorage, IStream - Исходник.

Карточная игра Девятка - Исходник.

Все новинки...

Исходник «Бинарное дерево»

Когда сдавалась работа2008
Где сдавалась работаНГТУ
Оценка5
Имя автораСергей
Файл: 2.07 КБ
Поделиться:

Задание: Вершина двоичного дерева содержит массив целых и два указателя на правое и левое поддерево. Массив целых в каждом элементе упорядочен, дерево в целом также упорядочено. Функция включает в дерево целую переменную с сохранением упорядоченности.

#include <stdio.h>
#include <windows.h>
#include <string.h>
#include <conio.h>

#define N 2	//Размер массива в дереве

// Элемент дерева.
struct tree
{
	int s[N];		//Массив целых чисел.
	int count;		//Число занятых элементов в массиве 's'.
	tree *left;		//Указатель на левый потомок дерева
	tree *right;	//Указатель на правый потомок дерева.
};

//Прототипы функций и глобальные переменные.

void About(void);
void printsk (char* format,...);
int menu_select(void);				/* Выбор пункта меню. */
void enter(struct tree *usel);	/* Ввод числа. */
void show(struct tree *usel);		/* Вывод чисел на экран. */
void insert(int number, struct tree *usel);/* Вставка нового числа. */
struct tree *first(void);			/* Создание вершины дерева. */

int main ()
{
	About ();		/* Вывод информации о программе и авторе. */

   struct tree *pbegin = first();	//создание пустой вершины дерева.
   /* Объявление используемых в программе локальных переменных. */
   char choice;
   /* Меню. */
	for(;;) {
    choice = menu_select();
    switch(choice) {
      case 1: enter(pbegin);	//Ввод числа
        break;
      case 2: show(pbegin);	//Вывод чисел на экран
        break;
      case 3: exit(0);			//Выход из программы.
    }
  }

   getchar();	/* Заглушка. */
	return 0;
   /* Конец программы. */
}

/*-----------------------------------------------------------------------*/
/* Выбор пункта меню. */
int menu_select(void)
{
	char s[50];
	int c;
	printsk("\n1. Ввод числа\n");

 

На данной странице представлены авторские программы. 
Эти лабораторные работы сдавались Новосибирского государственного технического университета по специальности 220400 "Программное обеспечение вычислительной техники и автоматизированных систем". 
Все работы написаны на языка 'Си'. Все программы проверялись на компиляторе Borland C++ 5.02