Масив у структурі даних (Operaції)
⚡ Розумний підсумок
Масив у структурі даних зберігає кілька елементів одного типу даних у суміжних комірках пам'яті, кожен з яких доступний за індексом. У цьому посібнику пояснюється концепція, важливість масивів, а також те, як їх створювати та працювати з ними в... Python, C++ та Java з прикладами.

Що таке масив у структурі даних?
An масив — це структура даних для зберігання кількох елементів даних однакового типу. Елементи масиву розміщуються в сусідніх комірках пам'яті, і ці комірки називаються елементи масиву. Загальна кількість елементів у масиві – це його .
Доступ до кожного елемента здійснюється за його позицією, і це посилання називається індекс or індекс.
Поняття масиву
Концептуальна діаграма масивів
Наведена вище діаграма ілюструє, що:
- Масив — це вміст елементів.
- Елементи мають певне значення та тип даних, наприклад, «ABC», TRUE або FALSE.
- Кожен елемент має свій власний індекс, який використовується для доступу до нього.
Примітка:
- Елементи зберігаються в безперервних місцях пам’яті.
- Індекс завжди менший за загальну кількість елементів масиву.
- Будь-яка змінна, оголошена як масив, може зберігати кілька значень.
- Майже всі мови програмування використовують однакову концепцію масивів, але відрізняються способом їх оголошення та ініціалізації.
- Три частини залишаються спільними для всіх ініціалізацій: ім'я масиву, елементи та тип даних елементів.
На наступній діаграмі показано синтаксис оголошення масив в Python та C++, демонструючи, що концепція залишається незмінною, навіть якщо синтаксис дещо відрізняється між мовами.
Розуміти синтаксис масивів
- Назва масиву: необхідний для зручного посилання на колекцію елементів.
- Тип даних: необхідний для перевірки типів та цілісності даних.
- Елементи: значення даних, присутні в масиві.
Навіщо нам потрібні масиви?
- Масиви ідеально підходять для зберігання кількох значень в одній змінній.
- Вони легко та швидко обробляють багато значень.
- Сортування та пошук значень легше зробити за допомогою масивів.
Створення масиву в Python
In PythonМасиви відрізняються від списків: список може містити елементи різних типів даних, тоді як масив може містити лише елементи одного типу даних. Python має окремий модуль для обробки масивів, який називається array, який потрібно імпортувати перед використанням.
Примітка: Масив має містити дійсні числа, такі як цілі числа та числа з плаваючою комою; рядки не допускаються.
Наведений нижче код створює цілочисельний масив у Python для зберігання залишків на рахунках:
import array
balance = array.array('i', [300, 200, 100])
print(balance)
Способи оголошення масиву в Python
Ви можете оголосити масив у Python під час ініціалізації його за допомогою наступного синтаксису:
arrayName = array.array(typecode, [array_items])
Синтаксис масиву в Python
- Ідентифікатор: вкажіть ім'я, як ви зазвичай робите для змінних.
- Модуль: Python має спеціальний модуль під назвою «array», який потрібно спочатку імпортувати.
- Метод: Модуль масиву має метод для ініціалізації масиву, який приймає два аргументи — typecode та elements.
- Код типу: вкажіть тип даних, використовуючи доступні коди типів (див. таблицю нижче).
- Елементи: вкажіть елементи масиву в квадратних дужках, наприклад [130, 450, 103].
У таблиці нижче наведено коди типів, доступні для підтримуваних типів даних.
| Введіть код | C типу | Python тип | Мінімальний розмір (байти) |
|---|---|---|---|
| "b" | підписаний знак | Int | 1 |
| "B" | беззнаковий знак | Int | 1 |
| "ти" | Py_UNICODE | Символ Unicode | 2 |
| 'h' | підписаний короткий | Int | 2 |
| "H" | неподписаний короткий | Int | 2 |
| 'я' | підписаний внутр | Int | 2 |
| 'Я' | неподписаний int | Int | 2 |
| 'l' | підписаний довго | Int | 4 |
| 'L' | без підпису довгий | Int | 4 |
| 'f' | плавати | плавати | 4 |
| 'd' | подвійний | плавати | 8 |
Як отримати доступ до певного значення масиву?
Ви можете отримати доступ до будь-якого елемента масиву, використовуючи його індекс.
Синтаксис:
arrayName[indexNum]
приклад:
balance[1]
Доступ до елемента масиву
Тут ми отримали доступ до другого значення масиву, використовуючи індекс 1. Вихід дорівнює 200, що є другим значенням масиву balance.
import array
balance = array.array('i', [300, 200, 100])
print(balance[1])
вихід:
200
масив Operaв Python
Команда Python Модуль array надає окремі функції для операцій з масивами. Це деструктивні методи, тобто модифікація зберігається у змінній масиву.
Insert
Ця операція вставляє один або декілька елементів у масив на початку, в кінці або за будь-яким заданим індексом. Вона очікує два аргументи: індекс та значення.
arrayName.insert(index, value)
приклад: Щоб вставити нове значення одразу після індексу 1 (значення 200), посилайтеся на індекс 2 у методі вставки.
import array
balance = array.array('i', [300, 200, 100])
balance.insert(2, 150)
print(balance)
вихід:
array('i', [300, 200, 150, 100])
видаляти
Ця операція видаляє один елемент з масиву за значенням, приймаючи один аргумент. Після її виконання елементи перевпорядковуються, а індекси перепризначаються.
arrayName.remove(value)
приклад:
import array
balance = array.array('i', [300, 200, 150, 100])
balance.remove(150)
print(balance)
вихід:
array('i', [300, 200, 100])
Пошук
Ця операція шукає елемент за значенням та повертає його індекс. Це неруйнівний метод, тому він не змінює значення масиву.
arrayName.index(value)
приклад:
import array
balance = array.array('i', [300, 200, 150, 100])
print(balance.index(150))
вихід:
2
Оновити
Оновлення замінює існуюче значення за заданим індексом за допомогою простого оператора присвоєння.Python масиви не мають update() метод.)
arrayName[index] = value
приклад: Щоб замінити 150 (під індексом 2) на 145:
import array
balance = array.array('i', [300, 200, 150, 100])
balance[2] = 145
print(balance)
вихід:
array('i', [300, 200, 145, 100])
Траверс
Ви можете пройти через a Python масив за допомогою циклу:
import array
balance = array.array('i', [300, 200, 100])
for x in balance:
print(x)
вихід:
300
200
100
Створення масиву в C++
C++ є більш гнучким, ніж Python під час створення масивів. Ви можете створювати C++ масиви трьома способами. Наведений нижче код створює цілочисельний масив у C++ для зберігання залишків на рахунках:
#include <iostream>
using namespace std;
int main()
{
int balance[3] = { 300, 200, 100 };
for (int i = 0; i < 3; i++)
{
cout << "value of i: " << balance[i] << endl;
}
return 0;
}
Способи оголошення масиву в C++
Ви можете оголосити масив трьома способами, залежно від вимог вашої програми.
Декларація за розміром:
dataType arrayName[arraySize]; // e.g. int balance[3];
Оголошення лише з елементами масиву:
dataType arrayName[] = {array_items}; // e.g. int balance[] = { 300, 200, 100 };
Декларація за розміром та товарами:
dataType arrayName[arraySize] = {array_items}; // e.g. int balance[3] = { 300, 200, 100 };
Як отримати доступ до певного значення масиву в C++?
Доступ до елемента масиву
#include <iostream>
using namespace std;
int main()
{
int balance[3] = { 300, 200, 100 };
cout << balance[1];
return 0;
}
вихід:
200
масив Operaв C++
на відміну від Pythonв C++ Ви повинні самостійно запрограмувати логіку для операцій вставки, видалення, пошуку, оновлення та переміщення.
Insert
Логіка вставки така: перебрати елементи масиву, змістити їх на більший індекс, а потім додати новий елемент за заданим індексом. У наведеному нижче прикладі є п'ять елементів, а число 150 вставляється одразу після значення 200.
#include <iostream>
#include <stdio.h>
main() {
int pos = 2;
int size = 4;
int balance[] = {300, 200, 100, 50, 0};
printf("BEFORE INSERT:\n");
for(int i = 0; i < 5; i++) {
printf("%d\n", balance[i]);
}
/* SHIFT ITEMS TO A GREATER INDEX */
for(int i = size; i >= pos; i--) {
balance[i+1] = balance[i];
}
/* INSERT VALUE AT THE DESIRED INDEX */
balance[pos] = 150;
printf("AFTER INSERT:\n");
for(int i = 0; i < 6; i++) {
printf("%d\n", balance[i]);
}
}
масив Operaв Java
Давайте створимо програму в Java який приймає розмір та значення елементів масиву від користувача.
import java.util.Scanner;
public class AddElements {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the size of the array");
int n = sc.nextInt();
int arr[] = new int[n];
System.out.println("Enter Elements in the array");
for(int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
System.out.println("Elements in the array");
for(int j = 0; j < n; j++) {
System.out.print(arr[j] + " ");
}
}
}
Змінити елемент у Java масив
Оновити елемент за його індексом.
import java.util.Scanner;
public class ModifyElement {
public static void main(String[] args) {
int arr[] = {1, 2, 3, 4, 5};
int length = arr.length;
Scanner sc = new Scanner(System.in);
System.out.println("Array Elements Before modify");
for(int i = 0; i < length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println("\nEnter the position to change");
int pos = sc.nextInt();
System.out.println("Enter the value");
int val = sc.nextInt();
arr[pos] = val;
System.out.println("Array Elements After modify");
for(int j = 0; j < length; j++) {
System.out.print(arr[j] + " ");
}
}
}
Доступ до елементів у Java масив
Вивести всі елементи масиву, обходячи його.
public class AccessElements {
public static void main(String[] args) {
int arr[] = {1, 2, 3, 4, 5};
int length = arr.length;
System.out.println("Array Elements are:-");
for(int i = 0; i < length; i++) {
System.out.print(arr[i] + " ");
}
}
}





