Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 17.11.2020
Сообщений: 29

Добавить в класс SinglyLinkedList методы Find() и FindIndex()

20.02.2021, 10:14. Показов 954. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добавить в класс SinglyLinkedList, прикрепленный к заданию методы, реализующие поиск узла по хранящемуся в нем значению( Find() ) и по индексу( FindIndex() ) .
Функции должны возвращать найденный узел или null, если ничего не найдено.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
using System;
 
class Program
{
    static void Main() {
        
        var lst = new SinglyLinkedList();
        lst.PushFront(3);
        lst.PushFront(5);
        Console.WriteLine(lst);
        lst.PopFront();
        Console.WriteLine(lst);
    }
}
 
public class Node
{
    public int Value;
    public Node Next;
    
    public Node(int value)
    {
        Value = value;
    }
}
 
public class SinglyLinkedList
{
    private int count = 0;
    public Node Head;
    
    public int GetCount()
    {
        return count;
    }
    
    public override string ToString()
    {
        string result = "";
        Node current = Head;
        while (current != null)
        {
            result += current.Value + " "; 
            current = current.Next;
        }
        return result;
    }
    
    
    public void PushFront(int value)
    {
        Node newNode = new Node(value);
        if (count != 0)
        {
            newNode.Next = Head;
        }
        Head = newNode;
        ++count;
    }
 
    public int PopFront()
    {
        int val = Head.Value;
        Head = Head.Next;
        --count;
        return val;
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.02.2021, 10:14
Ответы с готовыми решениями:

Добавить методы в класс
есть класс книга, задание заключается в добавлении не менее чем пяти методов к нему же сам класс и инициализация в массиве этого...

Добавить методы в свой класс
доброго времени суток! только недавно установил ms studio 2012. с горем пополам создал 2й модуль, подключил к главному, но это ерунда....

В класс добавить кострукторы и другие методы
Приветствую знатаки, приложилось такое задание, есть код и в него нужно влепить класс - 5 методов и 3 разные конструктора. Пытался сам...

4
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18304 / 14228 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
20.02.2021, 10:36
umnik2009, самостоятельно хоть что-то сделали? Что именно у вас не получается?
0
0 / 0 / 0
Регистрация: 17.11.2020
Сообщений: 29
20.02.2021, 10:54  [ТС]
OwenGlendower, есть этот код но у меня не получается задать find и value
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
using System;
 
class Program
{
    static void Main() {
        var lst = new SinglyLinkedList();
        lst.PushFront(5);
        Console.WriteLine(lst);
        lst.PushFront(3);
        Console.WriteLine(lst);
        lst.PushFront(2);
        Console.WriteLine(lst);
        lst.Find();
        Console.WriteLine(lst);
    }
}
 
public class Node
{
    public int Value;
    public Node Next;
    
    public Node(int value)
    {
        Value = value;
    }
}
 
public class SinglyLinkedList
{
    private int count = 0;
    public Node Head;
    
    public int GetCount()
    {
        return count;
    }
    
    public override string ToString()
    {
        string result = "";
        Node current = Head;
        while (current != null)
        {
            result += current.Value + " "; 
            current = current.Next;
        }
        return result;
    }
    
    
    public void PushFront(int value)
    {
        Node newNode = new Node(value);
        if (count != 0)
        {
            newNode.Next = Head;
        }
        Head = newNode;
        ++count;
    }
 
    public int PopFront()
    {
        int val = Head.Value;
        Head = Head.Next;
        --count;
        return val;
    }
    
    public Node Find(int value)
    {
        Node current = Head;
        while (current != null)
        {
            if(Value.current == value)
            {
                return current;
            }
            current = current.Next;
        }
        return null;
    }
}
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16141 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,119
Записей в блоге: 2
20.02.2021, 11:29
Цитата Сообщение от umnik2009 Посмотреть сообщение
есть этот код но у меня не получается задать find и value
Обычно методы Find() и FindIndex() принимают делегаты (Предикат), а не значения.
Find() - должен возвращать значение (value), а не узел (Nod).

Вы бы уточнили задание.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18304 / 14228 / 5368
Регистрация: 17.03.2014
Сообщений: 28,900
Записей в блоге: 1
20.02.2021, 12:05
Цитата Сообщение от umnik2009 Посмотреть сообщение
C#
76
            if(Value.current == value)
Поменяйте местами Value и current. Цель же получить значение поля Value у объекта current, а не наоборот.

Цитата Сообщение от umnik2009 Посмотреть сообщение
у меня не получается задать find
Find ожидает один аргумент типа int. Передайте его.
C#
1
2
3
// Например
var node1 = Find(3); // Должен вернуть узел
var node2 = Find(42); // Должен вернуть null
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Обычно методы Find() и FindIndex() принимают делегаты (Предикат), а не значения.
Они разные бывают. Тем более в задании ясно сказано что нужен поиск по значению и по индексу. Пока без делегатов.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.02.2021, 12:05
Помогаю со студенческими работами здесь

ООП в javascript - как унаследовать класс и добавить свои методы, аттрибуты ?
Собственно, хочу сделать инструмент по работе с картинкой (вырезать область, отзеркалить, вписать в размер) Аналог такого либо такого ...

Добавить в класс по возможности все его виды (перезагрузку методов и операторов, рекурсивные методы, индексаторы и тд.)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace...

Добавить в класс по возможности все его виды (перезагрузку методов и операторов, рекурсивные методы, индексаторы и тд.)
Очень надо... using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Создать класс Triad (тройка чисел) - определить методы; определить производный класс Date - переопределить методы
Создать класс Triad (тройка чисел); определить методы увеличения полей на 1. Определить производный класс Date с полями: год, месяц и день....

Регулярные выражения. Методы matches и find()
Начал изучать регулярные выражения и накопилось несколько вопросов: 1. Написал такую вот программу. При вводе: 123.02 345.6 +45.4...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru