1、插入排序:插入是比较简单的一种排序方法,基本思想就是把数据分组两段,一部分是有序,另一部分是待排序的。把有序的数据不断的加大到全数组完成排序。
从左到右将有序数组逐渐增大。
public class Sort {
public void insertSort(int[] arrays) {
for (int i = 0; i < arrays.length; i++) {
for (int j = i; j > 0; j--) {
if (j == 0)
continue;
if (arrays[j] < arrays[j - 1]) {
sweep(arrays, j, j-1);
}
}
}
}
//交换两个数的位置
private void sweep(int[] arrays,int a,int b){
int temp=arrays[a];
arrays[a]=arrays[b];
arrays[b]=temp;
}
public static void main(String[] args) {
int[] a = { 49, 38, 65,12,45,5 };
for (int i : a) {
System.out.print(i+" ");
}
System.out.println();
Sort sort=new Sort();
sort.insertSort(a);
for (int i : a) {
System.out.print(i+" ");
}
}
}
2、冒泡排序:把数组中比较大的数不断的冒在前面。一直冒完整个数据就完成排序。
public class Sort {
public void bubbleSort(int[] arrays) {
for(int i=0;i<arrays.length;i++){
for(int j=i+1;j<arrays.length;j++){
if(arrays[i]>arrays[j]){
sweep(arrays, i, j);
}
}
}
}
//交换两个数的位置
private void sweep(int[] arrays,int a,int b){
int temp=arrays[a];
arrays[a]=arrays[b];
arrays[b]=temp;
}
public static void main(String[] args) {
int[] a = { 49, 38, 65,12,45,5 };
for (int i : a) {
System.out.print(i+" ");
}
System.out.println();
Sort sort=new Sort();
sort.bubbleSort(a);
for (int i : a) {
System.out.print(i+" ");
}
}
}