데이터 구조의 배열 (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 타입 | 최소 크기(바이트) |
|---|---|---|---|
| '비' | 서명 된 문자 | INT | 1 |
| '비' | 부호없는 문자 | INT | 1 |
| '유' | 파이_유니코드 | 유니 코드 문자 | 2 |
| '시간' | 짧게 서명됨 | INT | 2 |
| 'H' | 서명되지 않은 짧은 | INT | 2 |
| '나는' | 서명된 정수 | INT | 2 |
| '나는' | 서명되지 않은 정수 | INT | 2 |
| '엘' | 긴 서명 | INT | 4 |
| '엘' | 부호없는 긴 | INT | 4 |
| '에프' | 뜨다 | 뜨다 | 4 |
| '디' | 더블 | 뜨다 | 8 |
배열의 특정 값에 접근하는 방법은 무엇인가요?
배열의 모든 항목은 인덱스를 사용하여 접근할 수 있습니다.
구문 :
arrayName[indexNum]
예:
balance[1]
배열 요소에 액세스
여기서는 인덱스 1을 사용하여 배열의 두 번째 값에 접근했습니다. 출력 결과는 200이며, 이는 balance 배열의 두 번째 값입니다.
import array
balance = array.array('i', [300, 200, 100])
print(balance[1])
출력:
200
배열 Opera안으로 Python
The Python array 모듈은 배열 연산을 위한 별도의 함수들을 제공합니다. 이러한 함수들은 배열 변수를 파괴하는 방식으로 작동하며, 변경 사항은 배열 변수에 저장됩니다.
끼워 넣다
이 연산은 하나 이상의 항목을 배열의 시작, 끝 또는 지정된 인덱스에 삽입합니다. 이 연산은 인덱스와 값, 두 개의 인수를 받습니다.
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
예: 인덱스 2의 150을 145로 바꾸려면 다음과 같이 하세요.
import array
balance = array.array('i', [300, 200, 150, 100])
balance[2] = 145
print(balance)
출력:
array('i', [300, 200, 145, 100])
트래버스
당신은 횡단할 수 있습니다 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++ 삽입, 삭제, 검색, 업데이트 및 순회 작업에 대한 로직은 직접 프로그래밍해야 합니다.
끼워 넣다
삽입 로직은 다음과 같습니다. 배열 항목을 순회하면서 각 항목을 더 큰 인덱스로 이동시킨 후, 지정된 인덱스에 새 항목을 추가합니다. 아래 예시는 5개의 항목이 있는 배열에서 200 바로 뒤에 150을 삽입하는 예입니다.
#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] + " ");
}
}
}





