若有以下程序段:
则该程序段的功能是:
对数组a进行插入排序(升序)
对数组a进行插入排序(降序)
对数组a进行选择排序(升序)
对数组a进行选择排序(降序)
答案 B 错选 C
插入排序的原理:始终定义第一个元素为有序的,将元素逐个插入到有序排列之中,其特点是要不断的移动数据,空出一个适当的位置,把待插入的元素放到里面去 。
选择排序的原理:每次在无序队列中“选择”出最小值,放到有序队列的最后,并从无序队列中去除该值(具体实现略有区别)。
在第i次排序中,前i-1个元素始终是有序的,此时只需把第i个元素插入到有序的序列中即可,故代码中体现的是插入排序的思想。代码中对当前a[i]>a[j](0<=k<i-1)是否成立进行判断,若成立则将a[j]往后移(即大的数排在前面,小的数排在后面),故代码中的排序原则为降序排。