127
/* 1 – жаңа түйіннің келесі түйінмен байланысын
орнату: */
pv->next = pkey->next;
/* 2 - жаңа түйіннің алдыңғы түйінмен байланысын
орнату: */
pv->prev = pkey;
/* 3 - алдыңғы түйіннің жаңа түйінмен байланысын
орнату: */
pkey->next = pv;
/* 4 - келесі түйіннің жаңа түйінмен байланысын
орнату: */
if( pkey != *pend) (pv->next)->prev = pv;
// Егер түйін тізім соңына қойылса,
// тізім соңына нұсқауышты жаңарту.
else *pend = pv;
return pv;
}
return 0;
}
Программаның жұмысының нəтижесі:
1 2 200 3 4
Функция ішінде өзгертілмейтін барлық параметрлер
const
модифика-
торы арқылы берілуі тиіс. Өзгеруі мүмкін нұсқауыштар, (мысалы, тізімнен
соңғы элементті өшірген кезде тізім соңына нұсқауышты өзгерту керек) адрес
бойынша беріледі.
remove
тізімнен элементті өшіру функциясын толығырақ қарастырайық.
Оның параметрлері ретінде тізім басына жəне тізім соңына нұсқауыштар жəне
өшірілуі тиіс элементтің кілті қабылданады. 1 жолында
pkey
жергілікті (ло-
калды) нұсқауышына жады бөлінеді, оған
fi nd
элементті кілті бойынша табу
функциясының нəтижесі меншіктеледі. Егер іздестіру нəтижесі сəтті болса,
бұл функция элементке нұсқауышты, ал мұндай кілті бар элемент табылмаған
жағдайда 0 мəнін қайтарады. Егер
Достарыңызбен бөлісу: