Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 24.01.2022
Сообщений: 21

Реализация очереди сплошным представлением

16.11.2022, 20:24. Показов 447. Ответов 1

Студворк — интернет-сервис помощи студентам
Дано число N (> 0) и указатели Р1 и Р2 на начало и конец непустой очереди. Извлечь из очереди N начальных элементов и вывести их значения(если очередь содержит менее N элементов, то извлечь все ее элементы). Вывести также новые адреса начала и конца очереди (для пустой очереди дважды вывести NULL).

System.out.println("Cтарый хвост очереди: " + Q.mas[Q.last]);
delitem = Q.removex(); выдают ошибку Index 5 out of bounds for length 5
Я не понимаю, по какой причине происходит выход за границы

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
94
95
96
97
import java.util.Scanner;
 
public class first {
    private
    static final int SIZE = 5;
    int first, last;
    int []mas = new int[SIZE];
 
    public
 
    int isEmpty() {
        if (last < first) return 1;
        else return 0;
    }
 
    void insert(int value) {
        if (last-first>=SIZE){
            System.out.println("Очередь полна!");
        } else
            mas[(last++)%SIZE]=value;
    }
 
    void print() {
        int i=first;
        while (i<last){
            System.out.println(mas[i]);
            i++;
        }
//        for (int h = first; h <=last; h++)
//            System.out.println(mas[h]);
    }
 
    int removex() {
        int x, h;
        x=mas[first];
//        for (h = first; h <last; h++) {
//            mas[h]=mas[h+1];
//        }
        int i=first;
        while (i<last){
            mas[i]=mas[i+1];
            i++;
        }
     last--;
        return x;
    }
 
    first()
    {
        last = 0;
        first = 0;
    }
 
    public static void main(String[] args) {
        first Q = new first();
        Scanner input = new Scanner(System.in);
        System.out.println("Bведите число начальных элементов: ");
        int N = input.nextInt();
        if (N > 0) {
            System.out.println("Введите элемент очереди:");
            for (int i = 0; i <SIZE; i++) {
                int elem = input.nextInt();
                Q.insert(elem);//заполнили очередь
            }
            System.out.println("Cтарая очередь:");
            Q.print();
            System.out.println("Cтарая головa очереди:" + Q.mas[Q.first]);
            System.out.println("Cтарый хвост очереди: " + Q.mas[Q.last]);
            int delitem = 0;//переменная, в которой будет хранить удаленные элементы
            if (N > SIZE) {
                for (int i = 0; i < SIZE; i++) {
                    delitem = Q.removex();
                    System.out.println("Удаленный элемент " + delitem);
                }
            }
                else
                {
                    for (int i = 0; i < N; i++)
                    {
                        delitem = Q.removex();
                        System.out.println("Удаленный элемент "  + delitem);
                    }
                }
                System.out.println("Новая очередь: ");
                Q.print();
            if (Q.isEmpty()==1){
                System.out.println("NULL"+"\nNULL");
            }
                System.out.println( "Hовая  головa очереди: "+Q.mas[Q.first]);
                System.out.println("Hовый  хвост очереди: "+Q.mas[Q.last]);
        }
            else {
                System.out.println("Bы ввели число меньше 0");
            }
            input.close();
        }
    }
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.11.2022, 20:24
Ответы с готовыми решениями:

Реализация очереди
Добрый день. Разбираюсь как устроена очередь как структура данных. вот мой код public class Queue&lt;T&gt; { private...

Реализация очереди
Всем привет! Я новичок в Java, мне задали посмотреть реализацию очереди, поделитесь пожалуйста простыми примерами. Спасибо!

Реализация очереди в потоке
Здравствуйте, разбираюсь с потоками, хотел реализовать задачку (по своей сути она похожа на СМО): 1) Некий датчик генерирует сигналы с...

1
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3403 / 2725 / 574
Регистрация: 04.09.2018
Сообщений: 8,553
Записей в блоге: 3
16.11.2022, 20:46
Лучший ответ Сообщение было отмечено Jumagazieva как решение

Решение

Цитата Сообщение от Jumagazieva Посмотреть сообщение
выдают ошибку Index 5 out of bounds for length 5
даже не глядя на приведенную портянку могу предположить, что вы не понимаете: размер 5 и индекс 5 - не одно и то же!
Если размер 5, то индекс последнего эл-та будет 4. индексация начинается с 0-ля.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.11.2022, 20:46
Помогаю со студенческими работами здесь

Реализация очереди в java, исправить ошибку
После удаления элемента из очереди и добавления нового элемента , при выводе массива , бесконечный вывод массива. Не понимаю в чем ошибка. ...

Создать стек сплошным представлением и продемонстрировать методы класса для стека из 15 элементов
нужно создать стек сплошным представлением и продемонстрировать методы класса для стека из 15ти элементов. Не могу понять как описать...

Реализация очереди
Задача: Разработать реализации для очередей, состоящих из действительных чисел, с использованием массивов и указателей. Не нахожу ничего...

Реализация очереди
Реализуйте задание согласно варианту. В каждом из вариантов должно быть реализованы следующие режимы работы: · добавление элементов; ...

Реализация очереди
Нужно посчитать значение многочлена. Полностью задание на картинке. Я написала программу с использованием меню, но вычисление значения...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru