public void VlozPrvek(TData vkladanyPrvek, int priorita)
        {
            PrvekHaldy obecnyPrvek = new PrvekHaldy();

            obecnyPrvek.Informace = vkladanyPrvek;
            obecnyPrvek.Priorita  = priorita;
            VlozPrvek(obecnyPrvek);
        }
        /// <summary>
        /// Vkládá prvek do haldy.
        /// </summary>
        /// <param name="vkladanyPrvek">Prvek, který se bude vkládat do haldy.</param>
        private void VlozPrvek(PrvekHaldy vkladanyPrvek)
        {
            haldaGertruda.Add(vkladanyPrvek);

            int indexDitete = haldaGertruda.Count - 1;
            int indexOtce   = (indexDitete - 1) / 2;

            while (haldaGertruda[indexOtce].Priorita > haldaGertruda[indexDitete].Priorita)
            {
                PrvekHaldy docasnyPrvek = haldaGertruda[indexDitete];
                haldaGertruda[indexDitete] = haldaGertruda[indexOtce];
                haldaGertruda[indexOtce]   = docasnyPrvek;
                indexDitete = indexOtce;
                indexOtce   = (indexDitete - 1) / 2;
            }
        }