1、冒泡排序
它排序数组元素的过程总是在将小的数往上放,较大的竖往后放类似于水中气泡往上升的动作,所以称为冒泡排序。
package zzz;
public class Zjy {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int []array = {63,4,24,1,3,15};
Zjy sorter =new Zjy();
sorter.sort(array);
}
public void sort(int[]array) {
for(int i=1;i<array.length;i++) {
for(int j=0;j<array.length-i;j++) {
if(array[j]>array[j+1]) {
int temp = array[j];
array[j] =array[j+1];
array[j+1]=temp;
}
}
}
showArray(array);
}
public void showArray(int[]array) {
for(int i:array) {
System.out.print(">"+i);
}
System.out.println();
}
}
2、直接排序
选择排序也叫直接排序,它的排序速度比冒泡排序要快一些。
package zzz;
public class Zjy {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int []array = {63,4,24,1,3,15};
Zjy sorter =new Zjy();
sorter.sort(array);
}
public void sort(int[]array) {
int index;
for(int i=1;i<array.length;i++) {
index = 0;
for(int j=1;j<=array.length-i;j++) {
if(array[j]>array[index]) {
index = j;
}
}
int temp = array[array.length-i];
array[array.length-i] =array[index];
array[index]=temp;
}
showArray(array);
}
public void showArray(int[]array) {
for(int i:array) {
System.out.print(">"+i);
}
System.out.println();
}
}
3、反转排序
就是以相反的排序,把原有的数组内存重新排序。反转排序的基本思想比较简单,把数组的最后1个元素和第1个元素替换,倒数第2个元素与第2个元素替换,以此类推。
package zzz;
public class Zjy {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int[] array = {10,20,30,40,50,60};
System.out.println("数组原有内容:");
for(int x:array) {
System.out.print("\t"+x);
}
System.out.println();
int temp;
int len = array.length;
for(int i=0;i<len/2;i++) {
temp=array[i];
array[i]=array[len-1-i];
array[len-i-1]=temp;
}
System.out.println("数组反转后内容:");
for(int x:array) {
System.out.print("\t"+x);
}
System.out.println();
}
}