Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
ЗВІТ
До лабораторної роботи №7
з курсу: «Інформатика»
на тему: «Пірамідальне сортування»
ЗАВДАННЯ
Написати програму для пірамідального сортування масиву.
ТЕКСТ ПРОГРАМИ
using System;
using System.Collections.Generic;
using System.Text;
namespace lab_inform_7
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(" Iнформатика, Лабораторна робота №7. \"Пiрамiдальне сортування\"");
Console.WriteLine(" Виконав: ст. гр. УI-22 Коцюруба О.В., Lviv 2012\n");
Console.Write("Вихiдний масив: \n\t1\t5\t9\t7\t11\t30\t3");
Console.Write("\nВiдсoртований масив:\n");
Psort p = new Psort();
for (int i = Psort.L.Length / 2; i >= 0; i--)
p.PSort(i, Psort.L[i], 5);
for (int i = (Psort.L.Length - 1); i >= 1; i--)
{
int max = Psort.L[0];
p.PSort(0, Psort.L[i], i - 1);
Psort.L[i] = max;
}
foreach (int i in Psort.L)
Console.Write("\t" + i);
Console.ReadKey();
}
}
class Psort
{
static public int[] L = new int[] { 1, 5, 9, 7, 11, 30, 3 };
public static int LC, V;
public void PSort(int Root, int Key, int bound)
{
V = Root;
while ((2 * V) <= bound)
{
if (2 * V == 0)
LC = 1;
else
LC = (2 * V);
if (LC < bound)
{
if (L[LC + 1] > L[LC])
{
LC = LC + 1;
}
}
if (L[LC] >= Key)
{
L[V] = L[LC];
V = LC;
}
else
L[V] = Key;
}
L[V] = Key;
}
}
}
РЕЗУЛЬТАТ РОБОТИ ПРОГРАМИ