авершено, далі йдуть функції-шаблону, що працюють
// не з окремим елементом, а з усіма списком
ListAdd (ListNode * head, ListNode * li)
// додавання нового елемента li у хвіст списку з головою head
{ * old, * v;
// шукаємо зовнішній хвіст списку (v = head; v! = NULL; v = v-> Next ()) = v;> PutNext (li);// додаємо в слід за знайденим хвостом новий елемент списку
} * ListDelete (ListNode * head, ListNode * li)
// видалення елемента li зі списку з голоиой head
// функція повертає покажчик на голову нового списку
{
// int j; * old, * o1; (li == head)// видаляється елемент може бути головою списку
// в цьому випадку голова у списку змінюється
{= head-> Next (); li; o1;
}
// видаляється елемент не являеться головою списку. Голова остається колишня (ListNode * v = head; v! = Li; v = v-> Next ())
// пошук елемента що передує удаляемому = v; = li-> Next ();> PutNext (o1);
// попередній елеіент тепер В«бачитьВ» елемент стоїть у списку слідом
// за удаленнимli; head;
}
// друк всіх елементів списку з головою head ListPrint (ListNode * head)
{(ListNode * v = head; v! = NULL; v = v-> Next ())> Print ();// підрахунок кількості елементів у списку з головою head
} ListCount (ListNode * head)
{i; i = 0; (ListNode * v = head; v! = NULL; v = v-> Next ())
{> Print (); + +;
} i;
}
Лістинг програми функція main ()
# include "stdafx.h"
# include "iostream"
# include "4.h"
# define N 52416// загальний час моделірованіяnamespace std; main () {
// Відкриття файлів для збору статистики = fopen ("que1", "wt"); = fopen ("sojourn", "wt");
// Ініціалізація генератора випадкових чисел ((unsigned) time (0)); s (72);
// "Чернової" прогін протягом року. 8760 - кількість годин у році (total = 0L; total <8760; total + +) {. Run ();
} (que); (sojourn);
// скидання статистики = fopen ("que1", "wt"); = fopen ("sojourn", "wt"); = 0L; = 0L; = 0L; _orders = 0; _ave = 0; _ave = 0;
// Запис поточної довжини черги в поле даних q_extra перед початком збору// статістікі.q_extra = s.getLe...