摘要:希賽網(wǎng)軟考頻道小編為大家整理了2019上半年軟考程序員下午真題第二部分,供大家參考。
2、閱讀以下說明和C代碼,回答問題,將解答寫入答題紙的對應欄內。
【說明】
函數(shù)bubbleSort(int arr[], int n, int (*compare)(int,int))的功能是根據(jù)調用時傳遞的比較 函數(shù)compare對數(shù)組arr的前n個元素進行排序。
【C代碼】
#define swap(a, b) { a = a∧b; b = a∧b; a = a∧b;} //交換 a 與 b 的值
int less(int x,int y)
{
return ((x<y) ? 1 : 0);
}
int larger(int x, int y)
{
return ((x>y) ? 1 : 0);
}
void bubbleSort(int arr[ ], int n, int (*compare)(int,int))
{ int i,j;
int swapped = 1;
for( i=0; swapped; i++) {
swapped = 0;
for(j=0; j<n-l-i; j++)
if ( compare( arr[j+1], arr[j])) {
swap( arr[j+1], arr[j]);
swapped =1;
}
}
}
問題內容:
【問題】
設有如下數(shù)組定義:
int data1[ ] = {4, 2, 6, 3, 1};
int data2[ ] = {4, 2, 6, 3, 1};
int data3[ ] = {4, 2, 6, 3, 1};
請分別給出下面的函數(shù)調用執(zhí)行后,數(shù)組data1、data2和data3各自的元素序列。
(1)bubbleSort(data1, 5, less);
(2) bubbleSort(data2, 5, larger);
(3) bubbleSort(data3, 3, larger);
相關推薦:2019上半年程序員下午真題及答案
在線題庫:程序員歷年真題自測估分
軟考備考資料免費領取
去領取