(用JAVA语言)编写一个程序用选择法对数组a[]={20,10,50,40,30,70,60,80,90,100}进行由大到小的排序。

希望有详细的注释帮助我读懂整个小程序,越详细越好,谢谢各位朋友了!... 希望有详细的注释帮助我读懂整个小程序,越详细越好,谢谢各位朋友了! 展开
 我来答
匿名用户
推荐于2018-04-04
展开全部
public class Demo {
public static void main(String args[]) {
int arr[] = {20,10,50,40,30,70,60,80,90,100};
System.out.println("数组由大到小排序前:");
for(int num : arr) {
System.out.print(num + "、");
}
//使用冒泡排序法,将数组由大到小进行排序
for(int i = 0;i < arr.length-1;i++) {
for(int j = 0;j < arr.length-i-1;j++) {
int temp = arr[j];
if(temp < arr[j+1]) {
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
System.out.println("\n数组由大到小排序后:");
for(int num : arr) {
System.out.print(num + "、");
}
}
} 这个行么?
百度网友ba3d9c2f6
2013-12-27 · TA获得超过198个赞
知道答主
回答量:198
采纳率:0%
帮助的人:154万
展开全部
public class wan {

/**
* @param args
*/
public static void main(String[] args) {
/*选择排序
思路:
1.定义一个循环,控制要排列的次数,每次搞定一个最大数
假设用i来代表每次最大数摆放的位置,i的取值:0~length-2
2.定义一个变量pos记住最大数所在的位置,定义一个变量max记住最大数
max初始值为i位置的元素,pos初始值为i
3.定义一个内层循环,用于遍历数组找最大数
假设i位置的最大,找出i+1~length-1里面最大的比i还大的
遍历数组,如果有比max大的,将值给max,同时用pos记住该元素的角标
4.让最大数和i位置的元素交换
*/
int[] arr = {20,10,55,40,30,70,60,80,90,100};
System.out.println("排序前:");
listArr(arr);
System.out.println("排序后:");
sort(arr);
listArr(arr);
}

private static void sort(int[] arr) {
for(int i=0; i<arr.length-1; i++){
int pos = i;
int max = arr[i];

for(int j=i+1; j<arr.length; j++){
if(arr[j]>max)
{
max = arr[j];
pos = j;
}
}
exchange(arr, i, pos);
}
}

private static void exchange(int[] arr, int pos1, int pos2) {
int temp = arr[pos1];
arr[pos1] = arr[pos2];
arr[pos2] = temp;

}
static void listArr(int[] arr){
StringBuffer sb = new StringBuffer();
for(int i=0; i<arr.length; i++)
sb.append(arr[i] + ",");
sb.delete(sb.length()-1, sb.length());
System.out.println(sb);
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-28
展开全部
import java.util.Arrays;

public class Sort {
public static void main(String[] args) {
int a[] = { 20, 10, 50, 40, 30, 70, 60, 80, 90, 100 };
Arrays.sort(a);
System.out.println(Arrays.toString(a));
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式