Facebook
From Funky Crane, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 208
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApplication62
  8. {
  9.     class Program
  10.     {
  11.  
  12.         public static void heapsort(int[] ar, int rozmiar){
  13.             int i, c, root, tmp;
  14.             for (i = 1; i <= rozmiar; i++){
  15.                 c = i;
  16.                 do{
  17.                     root=(c - 1) / 2;
  18.                     if (ar[root] < ar[c]){
  19.                         tmp = ar[root];
  20.                         ar[root] = ar[c];
  21.                         ar[c] = tmp;
  22.                     }
  23.                     c = root;
  24.                 } while(c!=0);
  25.             }
  26.         }
  27.  
  28.         public static int[] heapsortmain(int[] ar,int[] a, int rozmiar)
  29.         {
  30.             for (int i = 0; i <= rozmiar; i++)
  31.             {
  32.                 heapsort(ar, rozmiar - i);
  33.                 a[i] = ar[0];
  34.                 ar[0] = ar[rozmiar - i];
  35.             }
  36.             return a;
  37.         }
  38.  
  39.         public static void wypisz(int[] ar, int rozmiar){
  40.             int i;
  41.             for (i = 0; i <= rozmiar; i++){
  42.                 Console.WriteLine(ar[i]);
  43.             }
  44.         }
  45.  
  46.         static void Main(string[] args)
  47.         {
  48.             int rozmiar = 10;
  49.             Random r = new Random();
  50.             int[] ar = new int[rozmiar];
  51.             int[] arr = new int[rozmiar];
  52.             for (int i = 0; i < rozmiar; i++) ar[i] = r.Next(1, rozmiar);
  53.             wypisz(ar, rozmiar-1);
  54.             Console.WriteLine("===========================");
  55.             arr = heapsortmain(ar, arr, rozmiar - 1);
  56.             wypisz(arr, rozmiar-1);
  57.             Console.ReadLine();
  58.         }
  59.     }
  60. }
  61.