还有其他更快的排序方法,但是有点难理解。
这两种是初学者最好理解的,刚刚敲了一遍 分享给大家。
/*定义一个方法,对数组进行排序,先来简单的 选择和冒泡
选择:
用第一个数和其他的数比较,如果第一个数比其他数大,那么和第一个数交换位置,
否则,不交换,之后,继续用第一个数和之后的数比较,以此类推之后,会把最小的
数放到第一位,之后再拿第2个数比较,以此类推。
冒泡:
第一个数和第二个数比较,如果第一个数大于第二个数,则交换位置,否则,不交换,
继续拿第2个数和第3个数比较,以此类推,会把最大的数放到最后。之后,最后的的数
就不用参与运算,以此类推。
*/
class Test2
{
public static void main(String[] args)
{
System.out.println("Hello World!");
int[] arr = {2,1,4,7,3,5,8};
xzpx(arr);
printArray(arr);
System.out.println("---------------------");
mppx(arr);
printArray(arr);
}
public static void xzpx(int[] arr){
for(int a = 0;a < arr.length-1; a++){
for(int b = a+1;b< arr.length;b++){
if(arr[a]>arr[b]){
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
}
}
}
public static void mppx(int[] arr){
for(int a = 0;a < arr.length-1;a++){
if(arr[a]>arr[a+1]){
int temp = arr[a];
arr[a] = arr[a+1];
arr[a+1] = temp;
}
}
}
public static void printArray(int[] arr){
System.out.print("[ ");
for(int a = 0;a < arr.length;a++){
System.out.print(arr[a]+" ");
}
System.out.println("]");
}
}
|
|