package zmx.javadata;
public class BubbleSort {
public static void sort(long[] arr){
long tmp=0;
for(int i=0;i<arr.length-1;i++){
for(int j=arr.length-1;j>i;j--){
if(arr[j]<arr[j-1]){
tmp=arr[j];
arr[j]=arr[j-1];
arr[j-1]=tmp;
}
}
}
}
}
package zmx.javadata;
/**
* 定以一个k让它一直指向最小的那个数的位置,然后与当前的数互换。
* @author zmx
*
*/
public class SelectionSort {
public static void sort(long[] arr){
int k=0;
long tmp=0;
for(int i=0;i<arr.length-1;i++){
k=i;
for(int j=i;j<arr.length;j++){
if(arr[j]<arr[k]){
k=j;
}
}
tmp=arr[i];
arr[i]=arr[k];
arr[k]=tmp;
}
}
}
package zmx.javadata;
/**
* 使用一个临时的保存区,tmp=arr[1]
* 然后这个区指向的这个数一直与之前的一个数比较,如果比前面的小就等于前面大的数然后继续向前移继续比较,
* 但是tmp还是这个数,
* 最后移到不能再小的地方后把这个tmp的值传过来就完成插入。
* @author zmx
*
*/
public class InsertSort {
public static void sort(long[] arr){
long tmp=0;
for(int i=1;i<arr.length;i++){
tmp=arr[i];
int j=i;
while(j>0&&arr[j-1]>=tmp){
arr[j]=arr[j-1];
j--;
}
arr[j]=tmp;
}
}
}