Advertisement
kot025

BinTree yopta

Mar 5th, 2015
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.55 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Text.RegularExpressions;
  6. using System.Threading.Tasks;
  7. using System.IO;
  8. using System.Runtime.Serialization.Formatters.Binary;
  9.  
  10. namespace BinTree
  11. {
  12.     /// <summary>
  13.     // Программа позволяет построить бинарное дерево и выполнять операции над ним:
  14.     //  - включения элемента в дерево в соответствии с его значением,
  15.     //  - поиск элемента,
  16.     //  - вывод на экран элементов, включённых в дерево, в порядке возрастания и убывания,
  17.     //  - удаление элемента,
  18.     //  - подсчёт количества элементов.
  19.     /// </summary>
  20.  
  21.     class Program
  22.     {
  23.         static void Main(string[] args)
  24.         {
  25.             Console.Clear();
  26.             BinTree binTree = new BinTree(); // инициализация дерева
  27.  
  28.             int[] d = new int[10];  //создали массив
  29.             Random rand = new Random();
  30.             for (int i = 0; i < 10; i++)
  31.                 d[i] = rand.Next(30);
  32.  
  33.             //запись массива в двоичный файл
  34.             FileStream fs = new FileStream("file1.bin", FileMode.Create);
  35.             Console.WriteLine("Writing Data...");
  36.             BinaryWriter w = new BinaryWriter(fs);
  37.             for (int i = 0; i < d.Length; i++)
  38.                 w.Write(d[i]);
  39.             w.Close();
  40.             fs.Close();
  41.  
  42.             // заполение дерева из файла
  43.             fs = new FileStream("file1.bin", FileMode.Open);
  44.             BinaryReader r = new BinaryReader(fs);
  45.             for (int i = 0; i < d.Length; i++) binTree.AddNode(r.ReadInt32());
  46.  
  47.             int act;
  48.             do
  49.             {
  50.                 Console.WriteLine("1. min -> MAX\n2. MAX -> min\n3. End & Exit");
  51.                 Console.Write("Command: ");
  52.                 act = Convert.ToInt32(Console.ReadLine());
  53.                 if (act == 1)
  54.                 {
  55.                     Console.WriteLine(binTree.ToStringFromMin());
  56.                 }
  57.                 else if (act == 2)
  58.                 {
  59.                     Console.WriteLine(binTree.ToStringFromMax());
  60.                 }
  61.                 else if(act != 3)
  62.                 {
  63.                     Console.WriteLine("Error.");
  64.                 }
  65.             } while (act != 3);
  66.  
  67.         }
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement