Obojsmerný lineárny zoznam
Riešenie
Úloha 16
Uvedieme len funkciu, ktorá otestuje, či je reazec uložený v prvkoch daného obojsmerného lineárneho zoznamu palindrom.
typedef struct prvok {
char znak;
struct prvok *nasled;
struct prvok *predch;
} TPrvok;
int test(TPrvok *z, TPrvok *k, int poc)
{
int i = 1;
while ((z->znak == k->znak) && (i<= poc/2)) {
z = z->nasled;
k = k->predch;
i++;
}
return ((z->znak != k->znak) ? 0 : 1)
}
z, k sú ukazovatele na začiatok a koniec zoznamu poc je dlžka vstupného raazca - počet znakov (zistíme ju priamo pri načítaní alebo dodatočne jedným prechodom cez zoznam)
|