배열과 데이터 구조를 사용하면 여러 메모리 위치에 동종(same) 데이터를 저장할 수 있습니다. 배열 사용의 주요 이점은 index 매개변수를 사용하여 어느 위치에서나 배열을 검색할 수 있다는 것입니다. 데이터를 단계별로 삽입하고 추출해야 하므로 이 데이터 구조는 선형이 됩니다. 배열에서 요소를 검색하려면 요소의 인덱스나 위치 번호를 대괄호 안에 넣으면 됩니다. 이 기사에서는 배열 A와 다른 요소 e를 사용합니다. C++에서는 A의 시작 위치에 e를 삽입하겠습니다.
위의 예에는 9개의 요소를 포함하는 배열 A가 있습니다. 배열 A의 시작 부분에 다른 요소 23을 삽입합니다. 결과 배열에는 모든 요소와 선행 23이 포함됩니다. 처음에 요소를 삽입하려면 모든 요소를 오른쪽으로 한 위치 이동해야 합니다. 그러면 첫 번째 슬롯은 비어 있고 새 요소를 해당 위치에 배치합니다. 좀 더 명확한 이해를 위해 알고리즘을 살펴보겠습니다.
배열 A와 요소 e를 가져옵니다
배열 A에 요소 e를 삽입할 충분한 공간이 있으면
n-1부터 0까지의 범위에 있는 i의 경우 다음을 수행하세요.
A[ i + 1 ] = A[ i ]
사이클 종료
A[0]=e
n 1 증가
종료
A로 돌아가기
Vector는 C++ STL의 일부인 동적 데이터 구조입니다. 벡터의 배열과 유사한 기능을 얻을 수 있습니다. 하지만 벡터에서는 끝이나 뒤에만 삽입할 수 있습니다. 처음에 삽입하는 직접적인 방법은 없습니다. 그러나 이전처럼 요소를 한 위치 뒤로 이동하고 시작 부분에 새 요소를 삽입할 수 있습니다. 또는 새 요소만 포함하는 또 다른 단일 요소 벡터를 만든 다음 이를 연결할 수 있습니다. 따라서 결과 벡터에는 이전 요소가 모두 포함되고 시작 부분에는 새 요소가 포함됩니다. 알고리즘과 C++ 구현을 살펴보겠습니다.
배열 A와 요소 e를 가져옵니다
빈 벡터 B를 만듭니다
B
A := B를 A와 연결합니다(먼저 B, 그 다음 A)
A로 돌아가기
이 글에서는 배열의 시작 부분에 요소를 삽입하는 방법을 살펴보았습니다. 여기서는 두 가지 다른 솔루션에 대해 논의합니다. 첫 번째 솔루션은 정적 C++ 배열을 사용하고 두 번째 솔루션은 벡터를 사용합니다. 벡터에는 요소를 처음에 직접 삽입할 수 있는 방법이 없습니다. push_back() 메서드를 사용하면 끝에 직접 요소를 삽입할 수 있습니다. 이를 위해 크기가 1인 배열을 만들고 여기에 새 요소를 삽입하는 트릭을 사용합니다. 그런 다음 이를 주어진 배열과 연결합니다. 목록을 사용하여 동일한 효과를 얻을 수 있습니다. 그러나 C++ 목록에는 요소를 맨 앞에 직접 삽입하는 push_front() 메서드가 있습니다. 그러나 목록은 배열이 아니라 연결 목록입니다.
위 내용은 배열의 시작 부분에 요소를 추가하는 C++ 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!