Egyszerű pszeudókód Code kérdés

szavazat
0

Kicsit új pszeudokódokra. Úgy értem, mi a kód mond, de egy nehezen üzembe a darabjait. Hogyan kell gondolkodni, hogy megértsük, mi ez a kód csinál:

Tegyük fel, hogy a1, a2,. . . , Ak egy tömb k szám. Mit jelent a következő kódrészlet csinálni? Röviden elmagyarázni, hogy miért. Tegyük fel, hogy minden a behúzott vonalak tartoznak a cikluson belül.

1 for p := 1 to ⌊k/2⌋
2     t := ap
3     ap := ak−p+1
4     ak−p+1 := t
A kérdést 29/08/2010 16:07
a forrás felhasználó
Más nyelveken...                            


2 válasz

szavazat
0

A hurok tükrök a tömb a központi eleme, mivel megváltozik a [p] [K-p + 1], ahol egy [p] mindig a „bal” oldalán a tömb és a [K-p + 1] mindig a „jobb” oldalon. t ideiglenes változó.

Válaszolt 29/08/2010 16:13
a forrás felhasználó

szavazat
2

Ookay,

1 for p := 1 to ⌊k/2⌋

úton megyünk fel a fele a tömbben.

2 t := ap
3 ap := ak−p+1
4 ak−p+1 := t

Ez a minta lehet ismerni, mint a „swap ideiglenes t”. És mi van cserélve?

Nos, apés ak-p+1ezek egyike az p-edik eleme a tömb kezdet , a másik az p-ik egyik végétől .

Tehát, összefoglalva :

Ön a swap n-ik először a n-ik utolsó tömb érték legfeljebb a fele a tömbben. És utána? A tömb fordított .

Vegye figyelembe, hogy pszeudokódokra formátumú néz ki, tényleg furcsa - és ami a legfontosabb - nem egyértelmű.

Van ak-p+1egyenértékű a[k-p+1]vagy a[k]-p+1vagy a[k-p]+1? Ha nem, hogyan sikerült kifejezni a többinek.

Tehát az első, én átalakítani ezt a kódot a tényleges forrás, mint a Python, ami sokkal könnyebb olvasni.

Szerkesztése .

I) Nos, ahogy írt, a tömb-tól a1a ak.

II) Gondolj hogyan lehet cserélni a két változó értékét ( aés b):

1 temp := a
2 a    := b
3 b    := temp

Persze, mert felülírta aa bsorban 2 , meg kellett tárolni a régi aértéket egy ideiglenes, ami temp.

Válaszolt 29/08/2010 16:19
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more