Элементом списка может быть всё что угодно, т.е. любой тип данных, в том числе и композитный:
Код: Выделить всё
type
PItem = ^TItem;
TItem = record
koeff:double;
degree:integer;
next:PItem;
end;
Кроме того, можно установить в своей программе правило, что многочлен степени N хранится в нормальной форме:
первый элемент - K0*X^0
второй - K1*X^1
третий - K2*X^2
и т.д.
Тогда показателем будетя являться просто позиция элемента в списке и хранить это число - это совершенно лишнее. Да и складывать такие многочлены будет гораздо легче: первый с первым, второй со вторым и т.д.
Усложнится только создание списка. Надо будет элементы вставлять в список на место, соответствующее показателю степени.