간단한 정렬 (삽입)을 구현하고 있지만 배열의 크기가 올바르지 않습니다. 즉, 내 길이 변수가 1로 설정되고 점점. 또한,이 삽입 정렬 알고리즘에 대해 내 코드를 어떻게 최적화 할 수 있습니까? 감사합니다배열의 요소 수가 예상대로 작동하지 않습니다.
void insertionSort(int a[])
{
int sorted = 1;
int length = sizeof(a)/sizeof(int);
int i = 0;
int tmp;
printf("%d ", length);
if (length < 2)
return;
for (i = 1; i < length - 1; i++)
{
sorted = i;
while (a[sorted] < a[sorted - 1] && sorted > 0)
{
tmp = a[sorted];
a[sorted] = a[sorted - 1];
a[sorted - 1] = tmp;
sorted--;
}
}
}
배열 길이를 인수로 전달하지 않습니까? –