HOWTO · C++

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