М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
kostyaluch
kostyaluch
24.07.2020 10:55 •  Информатика

Добавить к программе метод 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();
}
}

}

👇
Ответ:

Метод добавления выглядит так:

public void Extend(LinkedList list)

{

   Node current = list.head;

   while(current != null)

   {

       Add(current.Value);

       current = current.Next;

   }

}

Использовать можно так: list.Extend(list1);

list и list1 уже созданные в программе списки.

В список list добавятся элементы из списка list1.

4,8(29 оценок)
Открыть все ответы
Ответ:
116541
116541
24.07.2020

СЖЗКБ

Объяснение:

Артём: з4 б5 к1

Борис: б2 з3 к5\

Вадим: к3 с2 б5

Глеб: з5 с1 к3

Дмитрий: б3 к4 з1

У каждого 1 верное предположение.    

У Артёма и Вадима общее предположение б5. Пусть это так. Тогда  предположения Бориса б2 и к5 неверные, те верное з3. У Глеба неверные з5 и к3, те с1 - правда. Мы знаем, что б5, з3 и с1. Значит верное предположение Дмитрия - к4, тк местоположение зелёного и белого шаров мы знаем. По остаточному принципу получим ж2.

Если это не так:

У обоих есть предположения о красном шаре. Рассмотрим их.

1) к1 верно. Тогда к3 и з4 неверно, но верно с2. У Бориса неверно к5 и б2, но верно з3. Получаем, что Глеб ничего не угадал, противоречие.

2)к3 верно. Тогда к1 и с2 неверно, но верно з4. У Бориса верно б2,

у Глеба к3, тк это предположение у них с Вадимом совпадает. Получим, что к3, б2, з4. И мы видим, что Дмитрий ничего не угадал, противоречие.

3) и к1, и к3 неверно. Тогда верно з4 и с2. Здесь Борис угадает к5.

Но снова ничего не угадает Глеб. Опять противоречие.

Получим, что белый шар действительно лежит в пятом ящике.

4,6(32 оценок)
Ответ:
kris129630
kris129630
24.07.2020

СЖЗКБ

Объяснение:

Артём: з4 б5 к1

Борис: б2 з3 к5\

Вадим: к3 с2 б5

Глеб: з5 с1 к3

Дмитрий: б3 к4 з1

У каждого 1 верное предположение.    

У Артёма и Вадима общее предположение б5. Пусть это так. Тогда  предположения Бориса б2 и к5 неверные, те верное з3. У Глеба неверные з5 и к3, те с1 - правда. Мы знаем, что б5, з3 и с1. Значит верное предположение Дмитрия - к4, тк местоположение зелёного и белого шаров мы знаем. По остаточному принципу получим ж2.

Если это не так:

У обоих есть предположения о красном шаре. Рассмотрим их.

1) к1 верно. Тогда к3 и з4 неверно, но верно с2. У Бориса неверно к5 и б2, но верно з3. Получаем, что Глеб ничего не угадал, противоречие.

2)к3 верно. Тогда к1 и с2 неверно, но верно з4. У Бориса верно б2,

у Глеба к3, тк это предположение у них с Вадимом совпадает. Получим, что к3, б2, з4. И мы видим, что Дмитрий ничего не угадал, противоречие.

3) и к1, и к3 неверно. Тогда верно з4 и с2. Здесь Борис угадает к5.

Но снова ничего не угадает Глеб. Опять противоречие.

Получим, что белый шар действительно лежит в пятом ящике.

Это я скопировал СВОЁ решение к аналогичному вопросу, заданному ранее

4,8(87 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ