static void Main(string[] args) { //-----Создание списков из файла----- var a = new Polinom3("In1.txt"); var b = new Polinom3("In2.txt"); //-----Строковое представление----- Console.WriteLine(a); //-----Вставка эл-та с коэфицентом coef и степенями deg1, deg2, deg3----- a.Insert(5, 6, 7, 8); //-----Удаление эл-та со степенями deg1, deg2, deg3----- a.Delete(6, 7, 8); //-----Слияние списков с полиномами----- a.Add(b); //-----Не готовая производная----- //a.Derivate(); //-----Значения полиномов в точке x, y, z----- var value = a.Value(1, 2, 3); //-----Показатели степени с минимальным коэф-ом----- var result = a.MinCoef(); Console.ReadKey(); }
public void Add(Polinom3 p)//Обычное слияние списков, проще было бы просто вставить всё из второго списка в первый при помощи Insert { var result = new Polinom3(); var tempP = p.Head; var temp = Head; if (temp.Compare(tempP) < 0) { result.Head = result.Tail = temp; temp = temp.Next; } else { result.Head = result.Tail = tempP; tempP = tempP.Next; } while (temp != null || tempP != null) { if (tempP == null || temp != null && temp.Compare(tempP) < 0) { result.Tail.Next = temp; result.Tail = result.Tail.Next; temp = temp.Next; } else { result.Tail.Next = tempP; result.Tail = result.Tail.Next; tempP = tempP.Next; } } Head = result.Head; Tail = result.Tail; }