我有一個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 2012-02-24 13:00:44
謝謝..指出... – lakesh 2012-02-24 13:01:45
你測試了這段代碼嗎? 'sort()'中'n'的初始值是什麼? 'numRows'和'numCols'的值是什麼?爲什麼將'arr'設置爲'numRows-1'和'numCols-1'? – 2012-02-24 13:05:43