Articles

GeeksforGeeks

배열은 연속적인 메모리 위치에 저장된 항목 모음입니다. 아이디어는 동일한 유형의 여러 항목을 함께 저장하는 것입니다. 이것은 쉽게 계산하는 각 요소의 위치에 추가하는 간단한 방법으로 오프셋을 기본 값 즉,의 메모리 위치는 첫 번째 요소를 배열(일반적으로 표시의 이름 배열). 기본 값은 인덱스 0 이고 두 인덱스의 차이는 오프셋입니다.

단순화를 위해,우리는 생각할 수 있습 배열로 함대의 계단 위에서 각 단계에 위치한 값(말하자 친구 중 하나가). 여기에서,당신은 단순히 그들이에있는 단계의 수를 알고하여 친구 중 하나의 위치를 식별 할 수 있습니다.
기억하십시오:”다음 인덱스의 위치는 우리가 사용하는 데이터 유형에 따라 다릅니다”.

배열

위의 이미지할 수 있으로 쳐다보면서 최고 수준의 계단 당신의 기지에서 계단도 있습니다. 각 요소에 고유하게 식별할 수 있습으로 인덱스 array(에 비슷한 방법으로 식별할 수 있는 친구에 의해 단계에서 위의 예에서).

배열의 크기

에서는 C 언어를 배열의 크기가 고정되어 있을 의미하면 크기를 지정하면 그것을 변경할 수 없습니다 즉,당신은 할 수 없습 축소 어느 수 있습니다 확장합니다. 이유는 그에 대한 확장하는 경우 우리는 크기 변경을 확인 할 수가 없습니다(그것은 가능한 모든 시간)우리는 다음 메모리 위치로 우리에게 무료입니다. 배열이 선언 될 때 정적으로 메모리를 가져 오기 때문에 축소가 작동하지 않으므로 컴파일러가이를 파괴 할 수있는 유일한 것입니다.

유형의 인덱싱을 배열

  • 0(zero 기반 인덱싱):의 첫 번째 요소는 배열 색인에 의해 아래 첨자의 0
  • 1(한반 인덱싱):의 첫 번째 요소는 배열 색인에 의해 아래 첨자의 1
  • (n 기반 인덱싱):기본 지수의 배열을 자유롭게 선택됩니다. 일반적으로,프로그래밍 언어를 허용 n 기반의 색인 또는 부정적인 인덱스 값,그리고 다른 스칼라 데이터 유형을 다음과 같 열거,또는 캐릭터로 사용할 수 있는 배열 색인.

이점의 배열을 사용하여

  • 배열을 허용한 랜덤 액세스를 요소입니다. 이렇게하면 위치별로 요소에 액세스하는 것이 더 빨라집니다.
  • 배열은 성능면에서 꽤 큰 차이를 만들 수있는 더 나은 캐시 지역성을 가지고 있습니다.
  • 배열은 단일 이름을 사용하여 동일한 유형의 여러 데이터 항목을 나타냅니다.

배열 사용의 단점:
당신은 크기를 변경할 수 없습니다 즉,배열을 선언 한 후에는 할당 된 정적 메모리 때문에 크기를 변경할 수 없습니다. 여기에 삽입과 삭제는 어려운 요소에 저장된 연속적인 메모리 위치 및 변화 작업은 비용이 많이 드는 너무입니다.
이제 배열을 사용하여 데이터 구조 스택 구현의 예를 들면 몇 가지 명백한 결함이 있습니다.

스택의 팝 연산을 보자. 알고리즘은 다음과 같은 것을 갈 것입니다.

  1. 확인을 위해 스택 언더
  2. 줄여 상단에 1

그래서 거기에 우리가 무엇을 하고 있는 포인터를 요소를 감소시킬 의미를 우리는 경계에 우리의 보기에 실제로는 요소가 됩니 이야기까지의 메모리 공간에 있으면서 원시 데이터 수 있습니다 다음 확인을 하지만 객체의 배열이 많이 걸릴 것입니다.

// A character array in C/C++/Javachar arr1 = {'g', 'e', 'e', 'k', 's'};// An Integer array in C/C++/Javaint arr2 = {10, 20, 30, 40, 50};// Item at i'th index in array is typically accessed// as "arr". For example arr1 gives us 'g'// and arr2 gives us 40.

일반적으로,문자 배열이라는’문자열’,반면에 배열의 수 또는 뜨이라는 단순히 훌륭한 기능들을 가지고 있습니다.

어레이의 응용 프로그램

  1. 배열은 동일한 데이터 유형의 데이터 요소를 저장합니다.
  2. 배열은 CPU 스케줄링에 사용될 수 있습니다.
  3. 스택,큐,힙,해시 테이블 등과 같은 다른 데이터 구조를 구현하는 데 사용됩니다.

좋아하는 경우 GeeksforGeeks 및 참여하고 싶다면,당신은 또한 수를 사용하여 문서를 써주세요 contribute.geeksforgeeks.org 또는 메일을 귀하의 문서 [email protected]. 의 기사에 나오는 GeeksforGeeks 메인 페이지 및 도움말 기타 괴짜입니다.