Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace ConsoleApp75
- {
- class Program
- {
- static void Main(string[] args)
- {
- int[] elems = new int[] { 82, 98, 73, 26, 44, 72, 48, 13, 86, 54, 3, 7, 11, 69, 74, 87, 28, 58, 34 };
- KUPAC_RENDEZ(ref elems);
- foreach (var elem in elems)
- Console.WriteLine(elem);
- }
- static void KUPAC_RENDEZ2(ref int[] k)
- {
- KUPACOT_EPIT(ref k);
- int vege = k.Length - 1;
- while(vege > 0)
- {
- int temp = k[0];
- k[0] = k[vege];
- k[vege] = temp;
- vege -= 1;
- SZITAL(ref k, 0, vege);
- }
- }
- static void SZITAL(ref int []k,int h,int v)
- {
- int x = k[h];
- int gy = h + h;
- while(gy <= v)
- {
- if(gy < v && k[gy+1] > k[gy])
- {
- gy = gy + 1;
- }
- if(k[gy] > x)
- {
- k[h] = k[gy];
- h = gy;
- gy = h + h;
- }
- else
- {
- gy = v + 1;
- }
- }
- k[h] = x;
- }
- static void KUPACOT_EPIT(ref int [] k)
- {
- int i = (k.Length - 1) / 2;
- while( i >= 0)
- {
- SZITAL(ref k, i, k.Length - 1);
- i -= 2;
- }
- }
- static void KUPAC_RENDEZ(ref int [] k)
- {
- int i = (k.Length - 1) / 2;
- int counter = 0;
- while(i >= 0)
- {
- Console.WriteLine("------");
- SULLYESZT_REK(ref k, i, k.Length - 1);
- counter++;
- i = i - 1;
- }
- Console.WriteLine("osszesen: " + counter);
- Console.WriteLine("Ertek " + k[4]);
- Console.WriteLine("Indexe (Pseudo) " + (Array.IndexOf(k, 29) + 1));
- i = k.Length - 1;
- while (i > 0)
- {
- int temp = k[0];
- k[0] = k[i];
- k[i] = temp;
- i = i - 1;
- SULLYESZT_REK(ref k, 0, i);
- }
- }
- static void SULLYESZT_REK(ref int []k,int honnan, int vege)
- {
- int gyermek = honnan + honnan;
- if(gyermek < vege && k[gyermek + 1] > k[gyermek])
- {
- gyermek += 1;
- }
- if (gyermek <= vege && k[gyermek] > k[honnan])
- {
- int temp = k[gyermek];
- k[gyermek] = k[honnan];
- k[honnan] = temp;
- SULLYESZT_REK(ref k, gyermek, vege);
- }
- }
- static void SULLYESZT(ref int [] k, int honnan, int vege)
- {
- int x = k[honnan];
- int gyermek = honnan + honnan;
- while (gyermek <= vege)
- {
- if (gyermek < vege && k[gyermek + 1] > k[gyermek])
- gyermek = gyermek + 1;
- if (k[gyermek] > x)
- {
- k[honnan] = k[gyermek];
- int temp = honnan;
- honnan = gyermek;
- gyermek = temp + temp;
- }
- else
- gyermek = vege + 1;
- }
- k[honnan] = x;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement