数值的三种排序 冒泡 选择 插入

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;
		}
	}

}

猜你喜欢

转载自blog.csdn.net/qq_41648092/article/details/88762293
今日推荐