Kruhový spojový seznam - přečetní na určitém indexu – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Kruhový spojový seznam - přečetní na určitém indexu – .NET – Fórum – Programujte.comKruhový spojový seznam - přečetní na určitém indexu – .NET – Fórum – Programujte.com

 

dryXXX
~ Anonymní uživatel
8 příspěvků
5. 4. 2013   #1
-
0
-

Ahoj, potřeboval bych lehce poradit s úlohou na algoritmizaci :-). Mám kruhový seznam(za posledním prvkem je první), ve kterém máme udělat metodu která bude předán index a ona má vrátit prvek na tom indexu.(Např. délka seznamu je 30, nyní jsem na položce 23, a chci se vyskytnout na indexu 22, tak musím jít dopředu o 29 prvků).  Co sem zvládnul je toto:  

  public TQ[] GetEnumerable()
        {
            TQ[] array = new TQ[length];
            actual = first;

            for (int i = 0; i < length; i++)
            {
                array[i] = actual.Value;
                actual = actual.NextElement;
            }

            return array;
        }

        public TQ this[int index]
        {
            get
            {
                Element<TQ> result = first;

                for (int i = 0; i <= index; i++)
                {
                    result = result.NextElement;
                }

                return result.Value;
            }
        }

ale s tím načítám na určitém indexu si nevím rady. Poradíte mi někdo prosím??

Nahlásit jako SPAM
IP: 217.29.9.–
Grungy0
Super člen
5. 4. 2013   #2
-
0
-

podľa mňa je zlé znamienko v tejto podmienke for (int i = 0; i <= index; i++)

ak totiž bude index 0, tak ti vráti hodnotu na indexe 1. Takže asi to má byť skôr i < index. Teda ak chceš aby ti [0] vrátila hodnotu ktorú máš vo first.

Inak na tento riadok TQ[] array = new TQ[length]; ti kompilátor nenadáva?

Nahlásit jako SPAM
IP: 188.123.100.–
Prvý náznak hlúposti, je pocit geniality.
dryXXX
~ Anonymní uživatel
8 příspěvků
5. 4. 2013   #3
-
0
-

#2 Grungy
myslím že všechno tam je v pořádku

Nahlásit jako SPAM
IP: 217.29.9.–
JardaJirava0
Stálý člen
5. 4. 2013   #4
-
0
-

Ahoj,

možná blbá otázka, ale kde má kruh začátek?

Mohl by sis třeba držet index podle pořadí přidávání, záleží, jak konkrétně zní otázka a jak se index má zjišťovat.

Pěkný den,

Nahlásit jako SPAM
IP: 213.192.30.–
MCAD, MCPD
http://jirava.net/blog
http://xaml.cz - Magazín moderních technologií založených na XAML
dryXXX
~ Anonymní uživatel
8 příspěvků
5. 4. 2013   #5
-
0
-

#4 JardaJirava
je všeobecně známo že kruh nemá začátek :) , ale u mě je na na indexu 0, a to jak zjistovat index právě nevim

Nahlásit jako SPAM
IP: 217.29.9.–
dryXXX
~ Anonymní uživatel
8 příspěvků
5. 4. 2013   #6
-
0
-

#4 JardaJirava
je všeobecně známo že kruh nemá začátek :) , ale u mě je na na indexu 0, a to jak zjistovat index právě nevim

Nahlásit jako SPAM
IP: 217.29.9.–
Vaizo0
Stálý člen
5. 4. 2013   #7
-
0
-
Nahlásit jako SPAM
IP: 85.93.127.–
dryXXX
~ Anonymní uživatel
8 příspěvků
5. 4. 2013   #8
-
0
-

#7 Vaizo
už to čekuju a vypadá to dost dobře, jnom pro moje zadání to tam toho docela dost navíc

Nahlásit jako SPAM
IP: 217.29.9.–
Vaizo0
Stálý člen
6. 4. 2013   #9
-
0
-

#8 dryXXX
Konkrétně co?

Nahlásit jako SPAM
IP: 94.113.218.–
dryXXX
~ Anonymní uživatel
8 příspěvků
6. 4. 2013   #10
-
0
-

ten enumerátor; já ho mám, a je docela jednodušší, já bych potřeboval poradit jak na to s tim čtením na indexu 65, když víme že velikost je 30 a počátek na indexu 0

Nahlásit jako SPAM
IP: 217.29.9.–
Vaizo0
Stálý člen
6. 4. 2013   #11
-
0
-

#10 dryXXX
Tak zrovna načítání na základě indexu tam ukázáno právě je.

Jak to myslíš s tím indexem? Jakože máš kruhový seznam velikosti 30 a chceš získat, co je na indexu 65?

Pak máš 2 možnosti:

  • Vyhodit chybu, protože takový index tam není.
  • Provést modulo, což je stejné jako kdybys ten seznam dvakrát objel a vrátil, co je na pozici 5.  Modulo v C# získáš takhle 65 % 30.

Nahlásit jako SPAM
IP: 94.113.218.–
dryXXX
~ Anonymní uživatel
8 příspěvků
6. 4. 2013   #12
-
0
-

#11 Vaizo
už mi to je jasný, dík   , stím modulem

Nahlásit jako SPAM
IP: 217.29.9.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 64 hostů

Podobná vlákna

Kruhový seznam — založil Redby

Spojový seznam — založil lubabe

Spojový seznam — založil Luckin

Spojový seznam — založil TarderOrtex

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý