直接調用jdk里面的方法Arrays.sort(args)方法。而且這個方法重載實現(xiàn)了多個參數(shù),排序下標[N~M]位數(shù)字~倒敘,升序等等~
創(chuàng)新互聯(lián)建站專注于企業(yè)營銷型網(wǎng)站建設、網(wǎng)站重做改版、遼陽縣網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5建站、商城網(wǎng)站建設、集團公司官網(wǎng)建設、成都外貿網(wǎng)站建設、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為遼陽縣等各大城市提供網(wǎng)站開發(fā)制作服務。
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吧
你賦值應該要先把要排的數(shù)全部裝進去
for (int i = 0; i arr.length - 1; i++)
arr[i] = sc.nextInt();
這樣才正確,有了數(shù)據(jù)再排,你的for循環(huán)只輸入了一個數(shù),看看你的大括號
這種問題一看就是不會斷點調試的
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();
}
}