⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 expression.cpp

📁 王红梅编《数据结构》大多数的实验源码。内附详细的实验报告。
💻 CPP
字号:
#include <iostream.h>
#include "Expression.h"

Expression::Expression(int coef[], int exp[], int n)
{
	first = new Node;
	pre = first;
	Node *p = first;
	for (int i = 0; i < n; i++)
	{
		Node *tmp = new Node;
		tmp->coef = coef[i];
		tmp->exp = exp[i];
		p->next = tmp;
		p = p->next;
	}
	p->next = NULL;
	this->p = first->next;
}

Expression::~Expression()
{
	Node *pt = first->next;
	Node *tmp;
	while (pt)
	{
		tmp = pt;
		pt = pt->next;
		delete tmp;
	}
}

void Expression::InsertBefore(Node *q)
{
	q->next = p;
	pre->next = q;
	pre = pre->next;
}

void Expression::InsertExpression(Node *q, Node *qPre)
{
	pre->next = q;
	qPre->next = NULL;
}

void Expression::Delete()
{
	Node *tmp = p;
	pre->next = p->next;
	delete tmp;
	p = pre->next;
}

void Expression::Merge(int coef)
{
	p->coef = p->coef + coef;
}

void Expression::MoveNext()
{
	pre = pre->next;
	p = p->next;
}

void Expression::Print() const
{
	cout << "指数域:";
	Node *p = first->next;
	while (p)
	{
		cout << p->exp << " ";
		p = p->next;
	}
	cout << endl;
	cout << "系数域:";
	p = first->next;
	while (p)
	{
		cout << p->coef << " ";
		p = p->next;
	}
	cout << endl;
}

Node *Expression::GetCurrentPreNode() const
{
	return pre;
}

Node *Expression::GetCurrentNode() const
{
	return p;
}

bool Expression::End() const
{
	if (p == NULL)
		return true;
	else
		return false;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -