GESP八级共126题,本题是整站第1241题,已经有人完成了本题,加油!
14、下面的快速排序程序中,两处横线处分别应填入的是( )。
答案:A
考纲知识点:快速排序
解析:快速排序是一种基于分治策略的排序算法。它的基本思想是选择一个基准元素(pivot),通过一趟排序将待排记录分割成两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后分别对这两部分记录继续进行排序,以达到整个序列有序。具体操作过程中,通常设置两个指针,一个从左向右(l),一个从右向左(r),通过比较指针所指元素与基准元素的大小关系来交换元素,最终将基准元素放到合适的位置,使得左边元素都小于等于它,右边元素都大于等于它。第一个横线处(while循环条件):此处应该是循环进行划分操作的条件,即只要l小于r,就继续循环。所以应填入l < r。第二个横线处(quick_sort函数的参数):第一次调用quick_sort是对基准元素左边的子数组进行排序,第二次调用是对基准元素右边的子数组进行排序。对于左边子数组,参数应该是quick_sort(a, pivot),对于右边子数组,参数应该是quick_sort(a + pivot + 1, n - pivot - 1)。所以此处应填入a + pivot + 1, n - pivot - 1。
本站题目仅供学习,GESP版权归CCF所有,如有侵权请联系删除。站长陈老师QQ及微信:208234。