삽입 배열의 귀속과 비귀속 실현
코드는 다음과 같습니다.
void InsertSort(int* pArr, int len)
{
if (len<2)
return;
int key, j;
for (int i = 1; i < len; ++i )
{
key = pArr[i]; //
for (j = i-1; j >= 0; --j)
{
if ( key >= pArr[j] )
break;
else
pArr[j+1] = pArr[j];
}
pArr[j+1] = key;
}
}
플러그인 귀속이 실현되고 자신의 n-1번을 호출할 수 있으며 찾은 후 n-1개 원소의 정확한 위치를 삽입할 수 있으며 시간 복잡도도 O(n^2)이고 공간 복잡도는 O(n)이다.
코드는 다음과 같습니다.
// pArr index , len
void InsertSortRecursion(int* pArr, int index, int len)
{
if (len<2) //
return;
int key = pArr[index]; //
int i = index-1; //
if ( index < len )
{
for (; i>=0; i--)
{
if ( key >= pArr[i] )
break;
else //
pArr[i+1] = pArr[i];
}
pArr[i+1] = key; // key
InsertSortRecursion(pArr, index+1, len);
}
}
개인적인 관점:
귀속 쓰기 플러그인을 사용하지 않는 것은 필기시험에서 귀속 쓰기를 요구하기 때문이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.