2004年5月程序员下午试题[1]

程序员 责任编辑:msd88 2008-08-11

添加老师微信

备考咨询

加我微信

摘要:参考答案下载地址:http://www.educity.cn/data/View_55194.html试题一[流程图说明]下面的流程图用N-S盒图形式描述了数组A中的元素被划分的过程。其划分方法是:以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标移动。当划分结束时,基准数定位于A[i],并且数组中下标小于i的元素的

参考答案下载地址:http://www.educity.cn/data/View_55194.html

试题一
[流程图说明]
下面的流程图用N-S盒图形式描述了数组A中的元素被划分的过程。其划分方法是:以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标移动。当划分结束时,基准数定位于A[i],并且数组中下标小于i的元素的值均小于基准数,下标大于i的元素的值均大于基准数。设数组A的下界为low,上界为high,数组中的元素互不相同。例如,对数组(4,2,8,3,6),以4为基准数的划分过程如下:

[流程图]

[算法说明]
将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数int p(int A[],int low,int high)实现了上述流程图的划分过程并返回基准数在数组A中的下标。递归函数void sort(int A[],int L,int H)的功能是实现数组A中元素的递增排序。
[算法]
void sort(int A[],int L,int H) {
 if(L<H) {
k=p(A,L,H); //p()返回基准数所在数组A中的下标
sort( __(4)__ ); //小于基准数的元素排序
sort( __(5)__ );//大于基准数的元素排序
 }
}
  [答案讨论]

[1]  [2]  [3]  [4]  [5]  [6]  [7]  

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

软考备考资料免费领取

去领取