2 차원 (3x7) 배열이 있습니다. 행마다 정렬하고 싶습니다. 나는 샘플 코드를 작성했다.2 차원 배열의 행마다 정렬
#define numRows 3
#define numCols 7
int arr[numRows-1][numCols-1] = {{0,1,2,3,4,5,6}, {7,8,9,10,11,12,13},{14,15,16,17,18,19,20}};
sort_row(arr);
void sort_row(int *p)
{
for (int i = 0 ;i<numRows-1;i++)
{
sort(p[i][]);
}
}
void sort(int *p)
{
for (int c = 1 ; c <= numCols - 1 ; c++)
{
for (d = 0 ; d <= c - 1 ; d++)
{
if (array[c] < array[d])
{
swap = array[d];
array[d] = array[c];
for (int k = c ; k > d ; k--)
array[k] = array[k-1];
array[k+1] = swap;
}
}
}
}
각 행에 삽입 정렬을하고 있습니다.
Qn : 각 행을 올바르게 정렬하고 있습니까? 어떻게 개선 할 수 있습니까?
그 개선하거나 코드
주'd','n'와'swap'이 선언되지 않은 변수입니다. – hmjd
감사합니다 .. 지적하고 싶습니다 ... – lakesh
이 코드를 테스트 했습니까? 'sort()'에서'n'의 초기 값은 어느 것입니까? 'numRows'와'numCols'의 값은 무엇입니까? 왜'arr'은'numRows - 1'과'numCols - 1'으로 디멘션됩니까? –