用冒泡排序法对偶数下标的数组元素进行升序排列用选择排序法对奇数下标的数组元素

用冒泡排序法对偶数下标的数组元素进行升序排列用选择排序法对奇数下标的数组元素进行降序排列... 用冒泡排序法对偶数下标的数组元素进行升序排列用选择排序法对奇数下标的数组元素进行降序排列 展开
被露水吊打的月亮Ea
2010-05-14 · TA获得超过1235个赞
知道大有可为答主
回答量:1018
采纳率:0%
帮助的人:0
展开全部
先把元数组分离成偶数行和奇数行两个独立的数组。
然后分别排序,偶数数组升序,奇数数组降序。
再把两个数组结合起来。
就行了。

也可以用普通的冒泡排序法,只是把“相邻”比较变成“相隔1位”比较,比较的时候再判断一下奇偶,注意交换的时候别换错了位置就行了。
坏坏奶茶
推荐于2017-12-15 · TA获得超过266个赞
知道小有建树答主
回答量:119
采纳率:100%
帮助的人:190万
展开全部
冒泡的原理:相邻的元素比较,不停的交换
选择排序原理:标记一个暂时的最大/小元素,循环比较,然后变换最大/小元素标记位置。循环完后,交替位置。
我写了一个java实现你这个要求的程序,你可以看看:
public class ArraySort {

/**
* @param args
*/
public static void main(String[] args) {
int array[] = {2,6,4,3,10,7,8,1,9,5};
//偶数组 冒泡排序
for(int i=0;i<10;i=i+2){
for(int j=8;j>=i;j=j-2){
if(array[j]<array[i]){
int temp =array[i];
array[i] = array[j];
array[j] = temp;
}
}
// System.out.println(array[i]);//偶数下标元素排出来的升序
}
//奇数组 选择排序
for(int i=1;i<10;i=i+2){
int flag = i;
for(int j=i;j<10;j=j+2){
if(array[j]>array[flag]){
flag = j;
}
}
if(flag!=i){
int temp =array[i];
array[i] = array[flag];
array[flag] = temp;
}
// System.out.println(array[i]);//奇数下标元素排出来的降序
}
//打印结果
for(int i=0;i<10;i++){
System.out.print(array[i]+" ");
}
}

}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式