YTU 2749 二元选择排序 | 您所在的位置:网站首页 › 二元选择排序怎么排的 › YTU 2749 二元选择排序 |
风华是一指流砂,苍老是一段年华。
题目描述
注:本题只需要提交标记为修改部分之间的代码。
C++语言方式。
二元选择排序:对传统的选择排序算法改进,在一趟比较过程中,同时记录最大值和最小值位置,将最小值与第一个元素交换,最大值与最后一个元素交换,即一趟比较确定两个元素,对剩下的序列重复上述过程,直至序列为空。 #include using namespace std; int main() { int a[100],i,n; cin>>n; for(i=0; i> a[i]; int j , minpos ,maxpos, tmp; for (i=0 ; i if (a[j] > a[maxpos]) { maxpos = j ; continue ; } if (a[j]< a[minpos]) minpos = j ; } /*****修改的起始行******/ tmp = a[i]; a[i] = a[minpos]; a[minpos] = tmp; tmp = a[n-i]; a[n-i] = a[maxpos]; a[maxpos] = tmp; /*****修改的终止行*****/ } for(i = 0; i minpos = i; maxpos = i ; for (j= i+1; j maxpos = j ; continue ; } if (a[j]< a[minpos]) minpos = j ; } /*****修改的起始行******/ tmp = a[i]; a[i] = a[minpos]; a[minpos] = tmp; tmp = a[n-i]; a[n-i] = a[maxpos]; a[maxpos] = tmp; /*****修改的终止行*****/ } for(i = 0; i |
CopyRight 2018-2019 实验室设备网 版权所有 |