6.9.                                             175

class polynomial {
public:

polynomial() : h(0), degree(0) { )

polynomial(const polynomials p) ;

polynomial(int size, double coef[], int expon[]);

-polynomial() { release(); }

void print() const;

void plus(polynomial a, polynomial bit-
private :

term* h;

int degree;

void prepend(term* fc);     //   

void add_term(term*Sc a, term*& b) ;

void release();             // 

void rest_of(term* rest);   //  

void reverse();             // 
};

       .   -
  -.        
   .       
.   ,   ,
    ,    -
   -.

   -,    -
 .  prepend ()     . 
reverse ()    .  add_term ()  -
 plus ()        -
     .

inline void polynomial::prepend(term* t)
{ t -> next = h; h = t; }

void polynomial::reverse()  // 
{

term *pred, *succ, *elem;

if (h && (succ = h -> next)) {
pred = 0 ;

e 1 em = h ;

while (succ) {

elem -> next = pred;

pred = elem;

elem = succ;

succ = succ -> next;

}
h = e 1 em ;

h -> next = pred;

}