package qau.edu.variable;
public class Test { public static void main(String[] args) { int[] M = { 9, 8, 7, 6, 5, 4, 3, 2, 1 };// 声明一个数组进行赋值; int n = M.length; for (int i = 0; i < n - 1; i++) {// 开始进行比较;i控制趟数; for (int j = 0; j < n - 1; j++) {// j控制第i趟比较中,位置j上的数字; if (M[j + 1] < M[j]) {// i+1位置的数字和i+1前面的数字进行比较 int temp = M[j + 1]; M[j + 1] = M[j]; M[j] = temp; } } } for (int i = 0; i <= n - 1; i++) { System.out.print(M[i] + "\t"); } }}
for(int j=i;j<=n-2;j++)
内层循环要从i开始走,依次和后面的数进行比较
下面的for(int j=0;j<=n-i;j++)
if (M[i + 1] < M[j]) {// i+1位置的数字和i+1前面的数字进行比较 int temp = M[i + 1]; M[i + 1] = M[j]; M[j] = temp; }
其实lz交换的位置的时候写错了, i+1位置的数字和i+1前面的数字进行比较,那么i+1位置的数字如果比j位置的数字小的话就要调换位置。
输出结果:
1 2 3 4 5 6 7 8 9
public static void main(String[] args) {
int[] numb=new int[]{3,42,57,1,32,24};
int len=numb.length;
int i,j;
int temp;
System.out.println("排序前的数组各个值:");
for(i=0;i<len;i++) {
System.out.print(numb[i]+"\t");
}
System.out.println("\n");
for(i=1;i<=len;i++) {
for(j=len-1;j>=1;j--) {
if(numb[j]>numb[j-1]) {
temp=numb[j];
numb[j]=numb[j-1];
numb[j-1]=temp;
}
}
}
System.out.println("排序后的数组各个值:");
for(i=0;i<len;i++) {
System.out.print(numb[i]+"\t");
}
}
}
int len = M.length;
for(int i=0;i<len-1;i++){
for(int j=0;j<len-i-1;j++){
if(M[j]>M[j+1])
M[j] = M[j+1]+0*(M[j+1]=M[j]);
}
}
//java 8 运行.
private static void sortArrayList(int size){
List<Integer> list = new ArrayList<Integer>(size+5);
Random random = new Random();
for (int i = 0; i <= size; i++) {
list.add(random.nextInt(100));
}
list.sort(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1==o2?0:o1>o2?-1:1;
}
});
list.forEach(System.out::println);
}
public class Test { public static void main(String[] args) { int[] M = {9,8,7,6,5,4,3,2,1};//声明一个数组进行赋值; int n = M.length ; for(int i=0;i<=n-2;i++){//开始进行比较;i控制趟数;
for(int j=0;j<n-i-1;j++){//j控制第i趟比较中,位置j上的数字;
if(M[j+1]<M[j]){//i+1位置的数字和i+1前面的数字进行比较
int temp = M[j+1]; M[j+1] = M[j]; M[j] = temp ;
} } } for(int i=0;i<=n-1;i++){
System.out.print(M[i] + "\t"); } } }