直接插入排序
package 三种排序方法;
public class 直接插入排序 {
public static void main(String args[]) {
int array[]= {7,8,45,231,234,23,98,11};
int temp;
int j;
for(int i=0;i<array.length-1;i++) {
temp=array[i];
j=i-1;
while(j>=0&&array[j]<temp) {
array[j+1]=array[j];
j--;
}
array[j+1]=temp;
}
for(int i=0;i<array.length;i++) {
System.out.print(array[i]+" ");
}
}
}
冒泡排序
package 三种排序方法;
public class 冒泡排序 {
public static void main(String args[]) {
int array[]= {7,8,45,231,234,23,98,11};
int temp;
for(int i=0;i<array.length-1;i++) {
for(int j=0;j<array.length-i-1;j++) {
if(array[j]>array[j+1]) {
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
for(int i=0;i<array.length;i++) {
System.out.print(array[i]+" ");
}
}
}
简单选择排序
关键词:二重循环,每次都排最小值,记录循环初始位置。
package 三种排序方法;
public class 简单选择排序 {
public static void main(String args[]) {
int array[]= {7,8,45,231,234,23,98,11};
int temp;
int k;
for(int i=0;i<array.length-1;i++) {
k=i;//记录排序的初始位置。
for(int j=i+1;j<array.length;j++) {
if(array[j]<array[k]) {
k=j;
}
if(k!=i) {
temp=array[k];
array[k]=array[i];
array[i]=temp;
}
}
}
for(int i=0;i<array.length;i++) {
System.out.print(array[i]+" ");
}
}
}