Глава 3. Программирование на языках JavaScript и Pascal § 25 Динамические массивы. Стеки. Списки.

Download Report

Transcript Глава 3. Программирование на языках JavaScript и Pascal § 25 Динамические массивы. Стеки. Списки.

Глава 3. Программирование на языках
JavaScript и Pascal
§ 25
Динамические массивы.
Стеки. Списки
Динамический массив
– массив, количество элементов которого
может меняться при исполнении программы
Объявление «пустого» массива:
mas = new Array();
Количество
элементов массива
просто не указывается
Стек
– динамический массив, для которого возможны
только две операции:
• удалить из массива последний элемент;
• добавить новый элемент в конец массива
Метод pop()
Удаляет последний элемент
массива и возвращает
его значение
mas.pop();
Метод push(n)
Добавляет значение переменной
n в конец массива и возвращает
новую длину массива
mas.push(10);
Список (линейный список)
Метод splice()
– динамический массив,
для которого возможны
добавлен в браузерах
только две операции:
Microsoft Internet Explorer
• удалить любой элемент массива;
начиная с версии 5.5
• добавить новый элемент в любое место массива
Метод splice(n,1)
Удаляет элемент массива
с индексом n и возвращает
его значение
mas.splice(n,1);
Метод splice(n,0,m)
Добавляет значение
переменной m перед
элементом с индексом n
mas.splice(n,0,m);
Вопросы и задания
1. Что такое динамический массив?
2. Сколько элементов имеет массив, который
определен командой a = new Array() ?
3. Что такое стек?
4. Что такое линейный список?
Вопросы и задания
5. Задан числовой массив (стек) с целыми
числами. Составьте программу, с помощью
которой можно:
1) создать из чисел исходного массива два новых
массива (стека), один с положительными числами,
другой с отрицательными, и вывести на экран
все три массива;
2) создать из чисел исходного массива два новых
массива (стека), один с четными числами, другой
с нечетными, и вывести на экран все три массива;
3) создать из чисел массива новый массив (стек),
в котором положительные и отрицательные числа
из первого массива сначала чередуются, а затем
идут те, которых было больше, и вывести
оба массива на экран;
4) * создать из чисел массива новый массив (стек),
в который вошли только положительные четные
числа, и вывести оба массива на экран.
Вопросы и задания
6. Заданы два числовых массива (стека)
одинаковой длины с целыми числами.
Составьте программу, с помощью которой
можно:
1) все числа из первого массива переписать во второй
массив и вывести на экран три массива (два исходных
и результат);
2) создать третий массив (стек), каждый элемент которого
содержит произведение соответствующих элементов
исходных массивов, и вывести на экран все три
массива;
3) все числа из первого стека переписывать во второй
стек до тех пор, пока значение последнего элемента
первого стека не окажется четным, и вывести на экран
четыре стека (два исходных и два измененных).
Вопросы и задания
7. Задан числовой массив (список) с целыми
числами. Составьте программу, с помощью
которой можно:
1) продублировать в массиве первый и последний
элементы (вставить перед теми, что уже есть,
точно такие же) и вывести на экран два массива
(исходный и результат);
2) создать массив (список), в котором записаны
все элементы исходного списка с нечетными
индексами, и вывести на экран оба массива;
3) создать массив (список), в котором записаны
все элементы исходного списка с четными значениями,
и вывести на экран оба массива;
4) создать массив (список), в котором записаны
и продублированы все элементы исходного списка
с четными индексами, и вывести на экран оба массива;
Вопросы и задания
7.
5) создать массив (список), в котором записаны
и продублированы все элементы исходного списка
с нечетными значениями, и вывести на экран
оба массива;
6) создать массив (список), в котором сначала идут
элементы исходного массива с четными значениями,
а потом с нечетными, и вывести на экран оба массива;
7) создать массив (список), в котором сначала идут
элементы исходного массива с нечетными индексами,
а потом с четными, и вывести на экран оба массива;
8) если указаны два индекса i и j (i < j), создать новый
массив (список), в котором сначала идут элементы
исходного массива с индексами от i до j, затем
элементы с индексами менее i (если таковые есть)
и элементы с индексами более j (если таковые есть),
а затем вывести на экран оба массива.