Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 28.10.2016
Сообщений: 9
1

Не получается построить связной список (linked list)

03.03.2018, 21:23. Показов 717. Ответов 2

Author24 — интернет-сервис помощи студентам
Добрый день,

Я новичок в программирование. Необходимо построить связной список. Пока что дошел до этого момента. Запоминает только последний элемент. В чем может быть проблема?

Благодарю

Java
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
public class Uzdevums2 
{
    public static class Node 
    {
          private int element;
          private Node next;
          public int getElement()
          {
            return element;
          }
          public void setElement(int e)
          {
            element = e;
          }
          public Node getNext() 
          {
            return next;
          }
          public void setNext(Node n) 
          {
            next = n;
          }
    }
    
    public static void main(String[] args) 
    {
        Node item= new Node();
        item.setElement(4);
        item.setElement(44);
        item.setElement(34);
        item.setElement(41);
        item.setElement(49);
        //item.setNext(item.element);
        System.out.println(item.getElement());
    }
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2018, 21:23
Ответы с готовыми решениями:

Указатели, связной список (Linked List) и динамическое выделение памяти
Я вообще не понимаю как сделать. Ребят! Помогите, как сможете! /* Написать связной список...

Связанный список (Linked list).
Добрый день. Вот пишу функцию (в коде название - smash), которая бы из текущего списка создавала 2...

Не получается очистить связной список
Добрый день, не получается очистить двусвязный список, деструктору посылается адрес первого...

Полу реверс в Linked List (двусвязный список)
Доброго времени суток! Пишу обертку с методами для следующей конструкции: class Node { int...

2
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
03.03.2018, 22:12 2
посмотри как в яве LinkedList сделан и сделай так же. Вообще плохо понятно, что ты ожидаешь от этого кода
0
Эксперт функциональных языков программированияЭксперт Java
4486 / 2721 / 485
Регистрация: 28.04.2012
Сообщений: 8,590
04.03.2018, 01:30 3
Java
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
85
86
87
88
89
90
91
92
93
import java.util.function.Consumer;
 
public abstract class List<T> {
 
    @SafeVarargs
    public static <T> List<T> of(T... items) {
        List<T> list = nil();
        if (items != null && items.length > 0) {
            for (int i = items.length - 1; i >= 0; i--) {
                list = cons(items[i], list);
            }
        }
        return list;
    }
 
    @SuppressWarnings("unchecked")
    public static <T> List<T> nil() {
        return (List<T>) Nil.NIL;
    }
 
    public static <T> List<T> cons(T head, List<T> tail) {
        return new Cons<>(head, tail);
    }
 
    private List() {}
 
    public abstract T head();
 
    public abstract List<T> tail();
 
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("[");
        List<T> list = this;
        if (this != Nil.NIL) {
            sb.append(list.head());
            list = list.tail();
            for (; list != Nil.NIL; list = list.tail()) {
                sb.append(',').append(list.head());
            }
        }
        return sb.toString();
    }
 
    public void forEach(Consumer<T> action) {
        for (List<T> list = this; list != Nil.NIL; list = list.tail()) {
            action.accept(list.head());
        }
    }
 
    public static final class EmptyListException extends RuntimeException {
 
        private EmptyListException() {
            super("Empty list");
        }
    }
 
    private static final class Cons<T> extends List<T> {
 
        private final T head;
        private final List<T> tail;
 
        private Cons(T head, List<T> tail) {
            this.head = head;
            this.tail = tail;
        }
 
        @Override
        public T head() {
            return head;
        }
 
        @Override
        public List<T> tail() {
            return tail;
        }
    }
 
    private static final class Nil<T> extends List<T> {
 
        private static final Nil<?> NIL = new Nil<>();
 
        @Override
        public T head() {
            throw new EmptyListException();
        }
 
        @Override
        public List<T> tail() {
            throw new EmptyListException();
        }
    }
}
Java
1
2
3
4
5
6
7
8
final class ListDemo {
 
    public static void main(String[] args) {
        final List<Integer> list = List.of(4, 44, 34, 41, 49);
        System.out.println(list);
        list.forEach(System.out::println);
    }
}
0
04.03.2018, 01:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.03.2018, 01:30
Помогаю со студенческими работами здесь

Построить связной список
Построить связной список, содержащий в качестве данных информацию о студентах: № зачетной книжки,...

Linked List na C
kak perevernut na C LinkedList esli mo0jno kod pojaluista.

Проблема с Linked list
Здраствуйте! Есть проблема со связным списком, код (dictionary.c): #include &lt;stdio.h&gt; #include...

Linked List Array
Ребята как можно писать массив линкед листов ?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru