重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
直接调用jdk里面的方法Arrays.sort(args)方法。而且这个方法重载实现了多个参数,排序下标[N~M]位数字~倒叙,升序等等~
创新互联建站专注于企业营销型网站建设、网站重做改版、辽阳县网站定制设计、自适应品牌网站建设、H5建站、商城网站建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为辽阳县等各大城市提供网站开发制作服务。
for (int i = 0; i list.size(); i++) {
for (int j = i + 1; j list.size(); j++) {
if (list.get(i) list.get(j)) {
int temp = list.get(i);
list.set(i, list.get(j));
list.set(j, temp);
}
}
}
System.out.println("升序:" + list);
for (int i = 0; i list.size(); i++) {
for (int j = i + 1; j list.size(); j++) {
if (list.get(i) list.get(j)) {
int temp = list.get(i);
list.set(i, list.get(j));
list.set(j, temp);
}
}
}
System.out.println("降序:" + list);
首先你这命名就有问题,选择排序应该是SelectSort吧
你赋值应该要先把要排的数全部装进去
for (int i = 0; i arr.length - 1; i++)
arr[i] = sc.nextInt();
这样才正确,有了数据再排,你的for循环只输入了一个数,看看你的大括号
这种问题一看就是不会断点调试的
public class TestBaiduKnow {
public static void main(String[] args) {
int[] a = { 3, 5, 6, 1, 2, 8, 9 };
// 冒泡 排序后结果从小到大
for (int i = 0; i a.length; i++)
for (int j = i; j a.length; j++) {
if (a[i] a[j]) {
a[i] = a[i] + a[j];
a[j] = a[i] - a[j];
a[i] = a[i] - a[j];
}
}
print(a);
// 选择排序 结果从大到小
int pos = -1;
for (int i = 0; i a.length; i++) {
int max = a[i];
for (int j = i + 1; j a.length; j++) {
if (max a[j]) {
pos = j;
max = a[j];
}
}
if (pos != -1) {
a[i] = a[i] + a[pos];
a[pos] = a[i] - a[pos];
a[i] = a[i] - a[pos];
pos = -1;
}
}
print(a);
}
private static void print(int[] a) {
for (int i = 0; i a.length; i++)
System.out.print(a[i] + "\t");
System.out.println();
}
}