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


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

Шейкер сортировка - Исходник.

Сортировка вставками - Исходник.

Функция находит в строке заданную подстроку и возвращает указатель на нее - Исходник.

Сортировка выбором - Исходник.

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

Исходник «Работа с деревьями»

Когда сдавалась работа2008
Где сдавалась работаНГТУ
Оценка5
Имя автораСергей
Файл: 4.31 КБ
Поделиться:
Задание: Вершина дерева содержит указатель на строку и N указателей на потомков. Функция помещает строки в дерево так, что строки с меньшей длиной располагаются ближе к корню. Если новая строка "проходит" через вершину, в которой находится более длинная строка, то новая занимает место старой, а алгоритм включения продолжается для старой строки. Функция включения выбирает потомка минимальным количеством вершин в поддереве.
// Вариант: 7 (задание №7)(BK55)
#include <stdio.h>
#include <windows.h>
#include <string.h>
#include <conio.h>

#define N 5	//Число потомков

// Элемент структуры дерева.
struct tree
{
	char *str;			// Указатель на строку.
	tree *potomok[N]; // Массив указателей на потомков.
   int str_len;		// Длина строки в данной вершине.
};

// Прототипы функций и глобальные переменные.
struct tree *min_vetv;	// Указатель на потомка с минимальным количеством вершин.
struct tree *temp;		// Временное хранение указателя min_vetv.
int min1 = 100;	// Минимальная высота дерева. (100 произвольное число).

void About(void);
void printsk (char* format,...);
int menu_select(void);				// Выбор пункта меню.
void enter(struct tree *usel);	// Ввод строки.
void show(struct tree *usel);		// Вывод строк на экран.
void load(struct tree *usel);		// Загрузка строк из файла.
void insert(char *strk, struct tree *usel, int dlina_str);		// Вставка новой строки.
struct tree *first(void);			// Создание корня дерева.
char *del_n(char *string);			// Удаляет из переданной строки символ перевода.
struct tree *search_min(struct tree *usel, int current);	// Ищет минимальную высоту дерева.


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: load(pbegin);
        break;
      case 4: exit(0);
    }
  }

 

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