在链表中有一类经典的题性,那就是多项式相加,这里提供了一个思路。
//#include "pch.h"
#include <iostream>
using namespace std;
struct Node {
int data;
int expo;
Node *next;
Node(int _data = 0, int _expo = 0, Node *_next = NULL) :data(_data), expo(_expo), next(_next) {}
};
Node *create(int n, int **arraynum)
{
Node *tail, *p, *head;
head = new Node;
tail = head;
for (int i = 0; i < n; i++)
{
p = new Node(arraynum[i][0], arraynum[i][1], NULL);
tail->next = p;
tail = p;
}
return head;
}
void display(Node *head)
{
Node *p = head->next;
if (p->data < 0)
cout << "(" << p->data << ")";
if (p->data > 0)
cout << p->data;
if (p->data != 0)
{
if (p->expo < 0)
cout << "x^(" << p->expo << ")";
if (p->expo > 0)
cout << "x^" << p->expo;
}
p