Добавить к программе метод extend, добавляющий к списку копию другого списка. c#
using system; (3 лаб 2 -)
using system.collections.generic;
using system.text;
namespace mylinkedlist
{//2.1. метод extend, добавляющий к списку копию другого списка.
public class listunderflow : exception { }
public class linkedlist // односвязный список
{
class node
{
public double value { get; set; }
public node next { get; set; }
public node(double item)
{
value = item;
next = null;
}
}
node head = null; // головной/первый элемент
node tail = null; // последний/хвостовой элемент
int count; // количество элементов в списке
// добавление элемента в конец списка
public void add(double item)
{
node node = new node(item);
if (head == null)
head = node;
else
tail.next = node;
tail = node;
count++;
}
// добавление в начало
public void appendfirst(double item)
{
node node = new node(item);
node.next = head;
head = node;
if (count == 0)
tail = head;
count++;
}
// удаление элемента
public bool remove(double item)
{
node current = head; // текущий элемент
node previous = null; // предыдущий элемент
while (current ! = null)
{
if (current.value == item)
{
// если узел в середине или в конце
if (previous ! = null)
{
// убираем узел current, теперь previous ссылается не на current,
// а на current.next
previous.next = current.next;
// если current.next не установлен, значит, узел последний,
// изменяем переменную tail
if (current.next == null)
tail = previous;
}
else
{
// если удаляется первый элемент
// переустанавливаем значение head
head = head.next;
// если после удаления список пуст, сбрасываем tail
if (head == null)
tail = null;
}
count--;
return true;
}
previous = current;
current = current.next;
}
return false;
}
// содержит ли список элемент
public bool contains(double item)
{
node current = head;
while (current ! = null)
{
if (current.value == item)
return true;
current = current.next;
}
return false;
}
// вывод элементов списка
public void printlist()
{
if (head == null)
throw new listunderflow();
node current = head;
while (current ! = null)
{
console.write(current.value + " ");
current = current.next;
}
console.writeline();
}
// строковое представление списка
public override string tostring()
{
if (head == null)
throw new listunderflow();
stringbuilder printlist = new stringbuilder();
node current = head;
while (current ! = null)
{
printlist.append(current.value + " ");
current = current.next;
}
return printlist.tostring();
}
}
class program
{
static void main(string[] args)
{
try
{
linkedlist list = new linkedlist();
// добавление элементов
list.add(5);
list.add(7);
list.add(9);
list.add(3);
// вывод элементов списка
console.writeline("список: {0}", list);
linkedlist list1 = new linkedlist();
// добавление элементов
list1.add(3);
list1.add(-3);
list1.add(2);
list1.add(1);
// вывод элементов списка
console.writeline("список: {0}", list1);
// или
// console.write("список: ");
// list.printlist();
// удаление элемента
console.writeline("введите элемент для удаления");
double x = convert.todouble(console.;
if (list.remove(x))
{
console.writeline("элемент {0} удален из списка", x);
console.writeline("список: {0}", list);
}
else console.writeline("элемент {0} в списке отсутствует", x);
// проверка наличия элемента
console.writeline("введите элемент для поиска");
x = convert.todouble(console.;
if (list.contains(x))
console.writeline("элемент есть в списке");
else
console.writeline("элемент в списке отсутствует");
// добавление элемента в начало
list.appendfirst(4);
console.writeline("элемент 4 добавлен в начало списка");
console.writeline("список: {0}", list);
//console.writeline("список: {0}", list.;
}
catch (listunderflow)
{
console.writeline("список пуст");
}
console.readline();
}
}
}
265
421
Ответы на вопрос:
Объяснение:
1)7
2)1
3)9
4)9
5)10
6)11
7)14
8)12
9)не поставил знак но предпологаю это знак> если да то ответ 9
10)8
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
justnastya124.03.2021 16:51
-
Artemvmmv07.11.2021 23:52
-
Анастасия18618601.03.2023 08:41
-
brainsofi119.08.2021 09:59
-
ZhannaMeer12.07.2021 04:22
-
Artemij0830.12.2021 22:16
-
visor030403.07.2021 17:15
-
Themrg19.02.2023 17:00
-
иртова04.06.2020 16:48
-
snegierevayanap08i8i23.02.2021 17:41
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.