阅读以下说明和C代码,回答问题,将解答写入答题纸的对应栏内。
函数bubbleSort(intarr[],intn,int(*compare)(int,int))的功能是根据调用时传递的比较,函数compare对数组arr的前n个元素进行排序。
问题内容:
设有如下数组定义:
intdata1[]={4,2,6,3,1};
intdata2[]={4,2,6,3,1};
intdata3[]={4,2,6,3,1};
请分别给出下面的函数调用执行后,数组data1、data2和data3各自的元素序列。
(1)bubbleSort(data1,5,less);
(2)bubbleSort(data2,5,larger);
(3)bubbleSort(data3,3,larger);
(1){1,2,3,4,6}
(2){6,4,3,2,1}
(3){6,4,2,3,1}
解析:在bubbleSort函数中,第二个参数表示进行比较元素的个数,第三个参数表示进行排序的方式,如果传入less函数,则是从小到大排序;如果传入larger函数,则是从大到小排序。swap函数是将两元素值进行相互交换;less函数是判断x和y的关系,如果x