JAVA实现数组排序(程序练习)
方法1:
package fun;
//方法1:冒泡排序
public class BubbleSort {
public static void main(String[] args) {
int score[]={88,55,99,35,51,6,92};
//int score[]={1,2,3,4,5,6,7};
for(int i=0;i<score.length;i++){
for(int j=0;j<score.length-1-i;j++){
if(score[j]<score[j+1]){
int temp=score[j];
score[j]=score[j+1];
score[j+1]=temp;
}
}
System.out.println("第"+(i+1)+"次排序结果:");
for(int a=0;a<score.length;a++){
System.out.println(score[a]+"\t");
}
System.out.println("");
}
System.out.println("最终排序结果:");
for(int a=0;a<score.length;a++){
System.out.println(score[a]+"\t");
}
}
}
运行结果:
第1次排序结果:
88
99
55
51
35
92
6
第2次排序结果:
99
88
55
51
92
35
6
第3次排序结果:
99
88
55
92
51
35
6
第4次排序结果:
99
88
92
55
51
35
6
第5次排序结果:
99
92
88
55
51
35
6
第6次排序结果:
99
92
88
55
51
35
6
第7次排序结果:
99
92
88
55
51
35
6
最终排序结果:
99
92
88
55
51
35
6
说明:
每次循环取第j个元素与j+1元素进行比较,把小的放后面。
例如:
在第一次循环中
先取第1个元素与第2个元素比较,88大于55,这时数组变为88,55,99,35,51,6,92
再取第2个元素与第3个元素比较,99大于55,这时数组变为88,99,55,35,51,6,92
再取第3个元素与第4个元素比较,55大于35,这时数组变为88,99,55,35,51,6,92
再取第4个元素与第5个元素比较,51大于35,这时数组变为88,99,55,51,35,6,92
再取第5个元素与第6个元素比较,35大于6,这时数组变为88,99,55,51,35,6,92
再取第6个元素与第7个元素比较,92大于6,这时数组变为88,99,55,51,35,92,6
这时第一次循环结束。输出数组:88,99,55,51,35,92,6
ps:原本想多练习写几个排序方法,然后测试下各个方法的运行时间,比较下各个方法的优劣,结果发现网上已经有很多类似内容了。附在下面
排序算法:
https://blog.****.net/coolwriter/article/details/78732728
http://www.cnblogs.com/0201zcr/p/4763806.html
二叉树:
https://www.cnblogs.com/Java3y/p/8636522.html
堆排序:
https://www.cnblogs.com/Java3y/p/8639937.html