
polevoi_cpp_2013_spring_lecture_04
.pdf
Уничтожение списка |
|
pHead |
|
pD |
0 |
while (0 != pHead)
{
pD = pHead;
pHead = pHead->m_pNext; delete pD;
}
23.03.2013 |
21 |

Уничтожение списка |
|
pHead |
|
pD |
0 |
while (0 != pHead)
{
pD = pHead;
pHead = pHead->m_pNext; delete pD;
}
23.03.2013 |
22 |

Уничтожение списка |
|
pHead |
|
pD |
0 |
while (0 != pHead)
{
pD = pHead;
pHead = pHead->m_pNext; delete pD;
}
23.03.2013 |
23 |

Кольцевой список
• циклический (замкнутый) список
pHead
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23.03.2013 |
24 |

Плюсы списков
•простое динамическое добавление и удаление элементов
•размер ограничен только объёмом памяти и разрядностью указателей
•элементы не перемещаются в памяти
23.03.2013 |
25 |

Минусы списков
•накладные расходы памяти на связи
•“ долгое” обращение к элементу по индексу
•“ долгое” выделение узла
•элементы списка могут быть расположены в памяти разреженно (фрагментация памяти, плохо кэшируется)
23.03.2013 |
26 |

АТД “полином”
F(x)=a0·x0 + a1·x1 +…+ aN·xN
ai – коэффициент
i – показатель степени (неотрицательное целое)
x – переменная
степень многочлена – максимальный показатель степени (для 0 не определен)
23.03.2013 |
27 |

Операции с полиномом
•создание (одночлен)
•уничтожение
•сложение полиномов
•умножение полиномов (в т.ч. умножение на число)
23.03.2013 |
28 |

Дополнительные операции
•вычисление значения
•получение коэффициента при заданном показателе степени
23.03.2013 |
29 |

Представление полинома
•массив an, n=0,N
•массив пар {n,an}
•список пар {n,an}
23.03.2013 |
30 |