2019上半年软考程序员下午真题(二)

程序员 责任编辑:胡媛 2019-05-29

添加老师微信

备考咨询

加我微信

摘要:希赛网软考频道小编为大家整理了2019上半年软考程序员下午真题第二部分,供大家参考。

2、阅读以下说明和C代码,回答问题,将解答写入答题纸的对应栏内。

【说明】

函数bubbleSort(int arr[], int n, int (*compare)(int,int))的功能是根据调用时传递的比较 函数compare对数组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;

}

}

}

问题内容:

【问题】

设有如下数组定义:

int data1[ ] = {4, 2, 6, 3, 1};

int data2[ ] = {4, 2, 6, 3, 1};

int data3[ ] = {4, 2, 6, 3, 1};

请分别给出下面的函数调用执行后,数组data1、data2和data3各自的元素序列。

(1)bubbleSort(data1, 5, less);

(2) bubbleSort(data2, 5, larger);

(3) bubbleSort(data3, 3, larger);


相关推荐:2019上半年程序员下午真题及答案

在线题库:程序员历年真题自测估分

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取