算法与数据结构的复习——选择排序、插入排序、冒泡排序

选择排序——

package ch02;

public class SelectionSort {
	// 选择排序
	public static void sort(long arr[]) {
		long temp = 0;
		for (int i = 0; i < arr.length - 1; i++) {
			int k = i;
			for (int j = i; j < arr.length; j++) {
				if (arr[j] < arr[k]) {
					k = j;
				}
			}
			temp = arr[i];
			arr[i] = arr[k];
			arr[k] = temp;
		}
	}
}

冒泡排序

package ch02;

public class BubbleSort {
	public static void sort(long[] arr) {
		long temp=0;
		for(int i=0;i<arr.length;i++){
			 for(int j=arr.length-1;j>i;j--){
				 if(arr[j-1]>arr[j]){
					 temp=arr[j-1];
					 arr[j-1]=arr[j];
					 arr[j]=temp;
				 }
			 }
		}
	}
}

插入排序

package ch02;

public class InsertSort {
	//简单插入排序
	public static void sort(long[] arr) {
		for (int i = 1; i < arr.length; i++) {
			long temp = arr[i];
			int j = i;
			while (j > 0 && arr[j-1]>arr[j]) {
				arr[j] = arr[j - 1];
				j--;
			}
			arr[j] = temp;
		}
	}
}

测试

package ch02;

public class SortTest {
	public static void main(String[] args) {
		long[] arr = new long[]{23,2,12};
		for(int i=0;i<arr.length;i++){
			System.out.print(arr[i]+" ");
		}
		System.out.println();
		//测试冒泡排序
//		BubbleSort.sort(arr);
		//测试选择排序
//		SelectionSort.sort(arr);
		//测试插入排序
		InsertSort.sort(arr);
		for(int i=0;i<arr.length;i++){
			System.out.print(arr[i]+" ");
		}
	}
}

猜你喜欢

转载自blog.csdn.net/braveandbeauty/article/details/81164544