//покажчик на наступний останнього вказує тепер на новий елемент gt; next=temp;
//новий елемент тепер останній=temp;
//збільшуємо розмір ++;
};
}
//функція дял видалення по індексуrem (int index) {
//якщо видаляти нічого, то виводь на екран попередження
if (size == 0) {( Спісокпуст! n );
system ( pause );
//якщо видаляємо перший елемент
} else if (index == 1 amp; amp; index!=size) {
//запам'ятовуємо його покажчик * temp=first;
//знімаємо пов'язаний з першим елементом покажчик на попередній gt; next- gt; prev=NULL;
//тепер перший елемент - це наступний за першим=first- gt; next;
//видаляємо запомненний першого елементtemp;
//зменшуємо розмір -;
//якщо видаляємо останній, то приблизно теж саме відбувається
} else if (index == size amp; amp; index!=1) {* temp=last; gt; prev- gt; next=NULL;=last- gt; prev; temp;
size -;
//якщо видаляємо елемент, який є єдиним в списку
} else if (index == size amp; amp; index == 1) {
//просто удаляемfirst;
//обнуляем покажчики на перший і останній елементи
first=NULL;=NULL;
//уменьшаемразмер -;
//якщо видаляємо з середини списку
} else if (index gt; 1 amp; amp; index lt; size) {* current=first;
//в циклі проходимо від початку списку до потрібного місця
for (int i=1; i lt; index; i ++) {
current=current- gt; next;
}
//обнуляем пов'язані з елементмо покажчики
current- gt; prev- gt; next=current- gt; next; gt; next- gt; prev=current- gt; prev;
//видаляємо елементcurrent;
//зменшуємо розмір -;
};
}
//функція отримання елемента зі списку
student get (int index) {* current=first;
//проходимо по циклу до потрібного елемента
for (int i=1; i lt; index; i ++) {= current- gt; next;
}
//повертаємо вміст узлаcurrent- gt; data;
}
//розмір спіскаget_size () {
//повертаємо розмір спіскаsize;
}
//функція зміни елементу списку
voidchange (intindex) {
//перевірка на індекси (index lt;=0 || index gt; size) {
printf ( Неправильний індекс! n ); ( pause );
//на розмір списку
} else if (size == 0) {( Спісокпуст! n );
system ( pause );
//якщо змінюємо перший, то викликаємо функція зміни зі структури зі студентом
} else if (index == 1) { gt; dataange ();
//якщо останній, то точно також
} else if (index == size) { gt; dataange ();
//якщо десь посередині списку
} else if (index gt; 1 amp; amp; index lt; size) {
node * current=first;
//проходимо в циклі до потрібного елемента
for (int i=0; i lt; index; i ++) {
current=current- gt; next;
}
//викликаємо функцію зміни зі структури зі студентом
current- gt; dataange ();
}
}
//функція роздруківки
voidprint () {
//якщо розмір дорівнює 0, то виводимо попередження
if (size == 0) {( cls ); ( Спісокпуст! n );
} else {
//інакше малюємо красиву таблицю, проходять в циклі по всьому списку
node * current=first; i=1; ( cls ); ( # | Група | ФаміліяІмяОтчест?? про | О.1 | О.2 | О.3 | Соц |nraquo;);(laquo;----|--------|-------------------------------------|-----|-----|-----|-----|nraquo;);(current !=NULL) {stud=current- gt; data; (% 3d |% 6s |% 35s |% 3d |% 3d |% 3d |% 3s | n raquo ;, i, stud.group, stud.name , stud.mark [0], stud.mark [1] ,. mark [2], stud...