Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




BPC-ALD_Zpracované_otazky_ke_zkousce

PDF
Stáhnout kompletní materiál zdarma (956.36 kB)

Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.

c.  Odebere prvek, na který ukazuje iA. (Stejskal)struct TListNode *p_old = aList->iA;     //p_old ukazuje na uzel, na který ukazuje iA 
aList->iA->iPrev->iNext = aList->iA->iNext;   

//svázání předchůdce a následníka iA 

aList->iA->iNext->iPrev = aList->iA->iPrev;   

//svázání předchůdce a následníka iA 

free(p_old); 

d.  Vymění skupinu prvků mezi ukazateli iA a iB s prvky mezi ukazateli iB a iTail. 

Napadlo m

ě to jen takhle zbytečně složitě 

struct QueueNode tmpA = *iA;

struct QueueNode tmpB = *iB;

iA->iNext = iB-> iNext;

iA->iNext->iPrev = iA;

iB->iPrev = iTail->iprev;

iB->iPrev->iNext = iB    // doplneni provazani (Turon)

iB->iNext = tmpA.iNext;

iB->iNext->iPrev = iB;

iTail->iPrev = tmpB.iPrev;

iTail->iprev->iNext = iTail; 

Přednáška 5: Abstraktní datové typy 

1.  Máme zadán lineárně vázaný seznam tvořený prvky TNode obsahující ukazatel iNext. Máme ukazatele na 

začátek iHead a na konec iTail tohoto seznamu a dva ukazatele iA a iB ukazující na obecné místo v 
seznamu. (Přičemž vždy platí, že ukazatel iB směřuje na prvek, který je v lin. seznamu umístěn až za 
prvkem na který směřuje ukazatel iA.) Napište kód v jazyce C, který: (+++) 

//seznam je jednosměrný 

a.   Odebere poslední prvek ze seznamu. 

//(Turoň) 
struct TNode *tmp = iHead; 
while(tmp->iNext != iTail){ 
tmp = tmp->iNext; 

iTail = tmp; 
iTail->iNext = NULL; 
free(tmp->iNext); 

b.  Odebere první prvek ze seznamu. 

//(Turoň) 
struct TNode *tmp = iHead; 
iHead = iHead->iNext; 
free(tmp); 

c.  Odebere prvek, na který ukazuje iA. 

//(Turoň) 
struct TNode *tmp = iHead; 
while(tmp->iNext!=iA){ 
tmp = tmp->iNext; 

tmp->iNext = tmp->iNext->iNext; //tmp->iNext = iA->iNext //obojí správně 
free(iA); 

d.  Vymění skupinu prvků mezi ukazateli iA a iB s prvky mezi ukazateli iB a iTail. 

Témata, do kterých materiál patří