powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Нужен ваш совет по реализации одной вещи
3 сообщений из 3, страница 1 из 1
Нужен ваш совет по реализации одной вещи
    #38602339
SRVdudko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Написал свою реализацию дека Double-enden-queue на основе двусвязного списка. Понимаю что мой велосипед баянище но начинать надо.
Идея состояла в том чтобы написать дек на двусвязном списке с фиктивной головой(она же хвост). При том что узел этот фиктивный только тогда когда дек пуст, а при добавлении этот уже созданный обьект повторно инициализируется. Таким образом при наличии обьектов в списке голова уже не фиктивная.
Можно как-нить проще реализовать его самому?
Код: 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.
package Dequeue;
import java.util.Iterator;
public class ListDequeue<DequeueType> implements Iterable<DequeueType>{
    private Node first,last;  //голова и конец
    private int N;              //размер очереди
    public ListDequeue() {
        this.first = new Node(); //создание фиктивного узла
        this.last=first;}
    @Override
    public Iterator<DequeueType> iterator() {
        return new ListDeqIterator();
            
    }
    private class ListDeqIterator implements Iterator<DequeueType>{
        private Node current=first;
        @Override
        public boolean hasNext() {return current!=null;}

        @Override
        public DequeueType next() {
            DequeueType val=current.val;
            current=current.next;
            return val;
           }

        @Override
        public void remove() {
            throw new UnsupportedOperationException("Not supported yet."); 
        }
    }
    private class Node{
        DequeueType val;
        Node next,prev;        
    }
        
    public boolean isEmpty(){return first.prev==null &&first.next==null;}
    public int size(){return N;}
    public void pushLeft(DequeueType val){
        if(first.val==null){first.val=val;N++;return;} 
        Node oldfirst=first;
        first = new Node();
        first.val=val;
        first.next=oldfirst;
        first.prev=null;
        oldfirst.prev=first;
        N++;
    }
    public void pushRight(DequeueType val){
        if(last.val==null){last.val=val;N++;return;} 
        Node newlast=new Node();
        newlast.val=val;
        last.next=newlast;
        newlast.prev=last;
        last=newlast;
        N++;
    }
    public DequeueType popLeft(){   
    DequeueType val = first.val;
    if(isEmpty()){
        first=new Node();
        last=first;
        N--;
        return val;
    }
    first=first.next;
    first.prev=null;
    N--;
    return val;}
    public DequeueType popRight(){
    DequeueType val=last.val;
    if(isEmpty()){
        first=new Node();
        last=first;
        N--;
        return val;
    }
    last=last.prev;
    last.next=null;
    N--;
    return val;
    
    }
    
public static void main(String[] args) {
    ListDequeue<Character> s = new ListDequeue<>();
    s.pushLeft('A');




    }

}
...
Рейтинг: 0 / 0
Нужен ваш совет по реализации одной вещи
    #38602346
Фотография Паша01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не ну жон
...
Рейтинг: 0 / 0
Нужен ваш совет по реализации одной вещи
    #38602355
SRVdudko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паша01Не ну жон
А вот лучше бы подсказали
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Нужен ваш совет по реализации одной вещи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]