pgm07_31.txt

来自「c#版本 算法大全 几乎所有常见的算法 This file contain」· 文本 代码 · 共 57 行

TXT
57
字号
////   This file contains the C# code from Program 7.31 of//   "Data Structures and Algorithms//    with Object-Oriented Design Patterns in C#"//   by Bruno R. Preiss.////   Copyright (c) 2001--2002 by Bruno R. Preiss, P.Eng.  All rights reserved.////   http://www.brpreiss.com/books/opus6/programs/pgm07_31.txt//public class PolynomialAsSortedList : Polynomial{    SortedList list;    public override Polynomial Plus(Polynomial poly)    {	PolynomialAsSortedList arg =	    (PolynomialAsSortedList)poly;	Polynomial result = new PolynomialAsSortedList();	IEnumerator p1 = list.GetEnumerator();	IEnumerator p2 = arg.list.GetEnumerator();	Term term1 = NextTerm(p1);	Term term2 = NextTerm(p2);;	while (term1 != null && term2 != null)	{	    if (term1.Exponent < term2.Exponent) {		result.Add(new Term(term1));		term1 = NextTerm(p1);	    }	    else if (term1.Exponent > term2.Exponent) {		result.Add(new Term(term2));		term2 = NextTerm(p2);	    }	    else {		Term sum = term1 + term2;		if (sum.Coefficient != 0)		    result.Add(sum);		term1 = NextTerm(p1);		term2 = NextTerm(p2);	    }	}	while (term1 != null) {	    result.Add(new Term(term1));	    term1 = NextTerm(p1);	}	while (term2 != null) {	    result.Add(new Term(term2));	    term2 = NextTerm(p2);	}	return result;    }    private static Term NextTerm(IEnumerator e)	{ return e.MoveNext() ? (Term)e.Current : null; }    // ...}

⌨️ 快捷键说明

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