Составители:
19
3. Îáìåí äàííûìè çàïèñåé ñ çàäàííûìè íîìåðàìè k è l.
4. Âêëþ÷åíèå â ñïèñîê íîâîé çàïèñè ïîñëå çàïèñè ñ çàäàííûì çíà-
÷åíèåì ïîëÿ äàííûõ.
5. Óäàëåíèå èç ñïèñêà çàïèñè ñ çàäàííûì çíà÷åíèåì ïîëÿ äàííûõ.
6. Ðàçáèåíèå ñïèñêà íà äâà ñïèñêà îäèíàêîâîé äëèíû (+1).
7. Èçìåíåíèå ïîðÿäêà ñëåäîâàíèÿ çàïèñåé â ñïèñêå íà ïðîòèâîïî-
ëîæíûé.
8. Îáúåäèíåíèå äâóõ çàäàííûõ ñïèñêîâ â îäèí.
9. Ïîñòðîåíèå êîïèè çàäàííîãî ñïèñêà.
10. Ïðåîáðàçîâàíèå çàäàííîãî ëèíåéíîãî ñïèñêà â êîëüöåâîé ñ óêà-
çàòåëåì íà ïåðâóþ çàïèñü, èìåâøóþ â ëèíåéíîì ñïèñêå íîìåð k.
Ëàáîðàòîðíàÿ ðàáîòà ¹ 8
ØÀÁËÎÍÛ ÔÓÍÊÖÈÉ
1. Ïåðåãðóçêà è øàáëîíû ôóíêöèé
 ïðîãðàììå ìîæåò áûòü ðàçìåùåíî íåñêîëüêî ôóíêöèé ñ îäíèì è
òåì æå èìåíåì, åñëè ñïèñêè ôîðìàëüíûõ ïàðàìåòðîâ ó íèõ ðàçëè÷íû.
Òàêèì îáðàçîì, òðåáîâàíèå óíèêàëüíîñòè ïðåäúÿâëÿåòñÿ ê ðàñøèðåí-
íîìó èìåíè ôóíêöèè, ñîñòîÿùåìó èç ñîáñòâåííî èìåíè ôóíêöèè è ñïèñ-
êà ôîðìàëüíûõ ïàðàìåòðîâ.
Äëÿ îïèñàíèÿ ñåìåéñòâà ôóíêöèé, ðåàëèçóþùèõ àíàëîãè÷íûå àëãî-
ðèòìû, ìîæíî âîñïîëüçîâàòüñÿ øàáëîíîì ôóíêöèè â ñîîòâåòñòâèè ñî
ñëåäóþùèì ñèíòàêñèñîì:
template <<ñïèñîê ôîðìàëüíûõ ïàðàìåòðîâ øàáëîíà>><âîçâðàùàå-
ìîå çíà÷åíèå><èìÿ ôóíêöèè>(<ñïèñîê ôîðìàëüíûõ ïàðàìåòðîâ ôóíê-
öèè>)
{<òåëî ôóíêöèè>}
Ñïèñîê ôîðìàëüíûõ ïàðàìåòðîâ øàáëîíà ñîäåðæèò ôîðìàëüíûå ïà-
ðàìåòðû òèïà, ðàçäåëåííûå çàïÿòûìè. Ôîðìàëüíûé ïàðàìåòð ìîæåò
ñîñòîÿòü èç êëþ÷åâîãî ñëîâà class è èäåíòèôèêàòîðà òèïà.
Ïðèìåð îïèñàíèÿ øàáëîíà:
template <class T> min(T t1,T t2)
{if(t1, t2) return t1; else return t2;}
Êîíêðåòíàÿ ôóíêöèÿ ãåíåðèðóåòñÿ èç øàáëîíà êîìïèëÿòîðîì ïðè îá-
ðàáîòêå âûçîâà ôóíêöèè ñ êîíêðåòíûìè ôàêòè÷åñêèìè ïàðàìåòðàìè.