C++의 연관 배열

Saad Aslam 2023년10월12일
  1. C++의 배열 개요
  2. C++의 연관 배열
C++의 연관 배열

이 기사에서는 연관 배열과 C++ 프로그래밍 언어의 구현을 이해합니다.

C++의 배열 개요

배열은 동일한 이름으로 저장된 변수 집합을 포함하는 개체 모음입니다. 모든 항목은 동일한 데이터 유형입니다. 유형은 목록, 정수 또는 문자열일 수 있습니다.

숫자와 같은 배열 변수를 정의한 다음 numbers[0], numbers[1], 등의 인덱스를 numbers[99]까지 사용하여 각 변수를 개별적으로 정의하는 대신 개별 변수를 나타냅니다. number0, number1,... 및 number99와 같은. 인덱스를 사용하여 배열 요소 중 특정 요소에 도달할 수 있습니다.

인덱스 배열과 연관 배열의 두 가지 배열 유형이 있습니다. 인덱스 배열과 연관 배열에는 모두 한 번만 사용할 수 있는 고유한 키가 있습니다.

숫자 키가 있는 배열을 인덱스 배열이라고 합니다. 가장 기본적인 형태에서는 각 배열 키가 자체 값에 연결되는 배열 형식을 취합니다.

C++의 연관 배열

이 섹션에서는 C++의 연관 배열에 집중할 것입니다.

연관 배열로 알려진 고유한 종류의 배열은 인덱스 값이 모든 데이터 유형일 수 있는 배열입니다. 인덱스는 정수, 문자, 부동 소수점 값, 문자열 등 중 하나일 수 있습니다.

그러나 배열에 포함된 데이터 항목에 액세스하려면 인덱스 값이 완전히 고유해야 합니다. 연관 배열에서 인덱스에 부여된 이름을 키라고 하고 특정 위치에 저장된 데이터를 값이라고 합니다.

결과적으로 연관 배열을 키-값 쌍으로 개념화할 수 있습니다. 따라서 연관 배열의 구성 요소는 키와 값으로 구성된 쌍입니다.

C++에서 연관 배열 구현

프로그래밍 언어 C++에서 연관 배열은 맵이라고도 합니다. 구문 분석된 값에 대한 키를 반환하도록 C++에서 맵을 구성하는 방법을 설명하는 예제를 살펴보겠습니다.

먼저 애플리케이션에서 map 및 기타 메서드를 사용할 수 있도록 라이브러리를 가져와야 합니다.

#include <iostream>
#include <map>

프로그램의 main() 메서드 내에서 문자열 유형을 키로, float 유형을 값으로 사용하여 지도 cgpa를 만듭니다. 적절한 공간에 일부 문자열 및 부동 소수점 값으로 맵을 채웁니다.

map<string, float> cgpa{{"Nabeel", 3.3},
                        {"Daniyal", 3.7},
                        {"Saad", 3.4},
                        {"Hamza", 3.1},
                        {"Zeeshan", 3.9}};

지도에 대한 반복자를 만듭니다.

map<string, float>::iterator i;

지도에 포함된 모든 값을 나열하는 메시지를 표시합니다. 지도에서 처음부터 끝까지 반복할 때 모든 값을 표시하는 for 루프를 빌드합니다.

cout << "The CGPA of all the students is as follows:" << endl;
for (i = cgpa.begin(); i != cgpa.end(); i++) {
  cout << i->first << " - " << i->second << endl;
}

이제 키를 기반으로 맵에서 일부 값을 가져옵니다.

cout << "\nThe CGPA of Hamza is: " << cgpa["Hamza"] << endl;
cout << "\nThe CGPA of the Delft Stack writer Saad is: " << cgpa["Saad"]
     << endl;

완전한 소스 코드:

#include <iostream>
#include <map>

using namespace std;

int main() {
  map<string, float> cgpa{{"Nabeel", 3.3},
                          {"Daniyal", 3.7},
                          {"Saad", 3.4},
                          {"Hamza", 3.1},
                          {"Zeeshan", 3.9}};

  map<string, float>::iterator i;

  cout << "The CGPA of all the students is as follows:" << endl;
  for (i = cgpa.begin(); i != cgpa.end(); i++) {
    cout << i->first << " - " << i->second << endl;
  }

  cout << "\nThe CGPA of Hamza is: " << cgpa["Hamza"] << endl;
  cout << "\nThe CGPA of the Delft Stack writer Saad is: " << cgpa["Saad"]
       << endl;
}

출력:

The CGPA of all the students is as follows:
Daniyal - 3.7
Hamza - 3.1
Nabeel - 3.3
Saad - 3.4
Zeeshan - 3.9

The CGPA of Hamza is: 3.1

The CGPA of the Delft Stack writer Saad is: 3.4
작가: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn

관련 문장 - C++ Array