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 + -
显示快捷键?