/**
 * 
 */
package bishiti;

import java.util.Random;

import junit.framework.TestCase;

import org.junit.Test;

/**
 * @author 程科 各种排序算法实现
 */
public class Sorts extends TestCase {

	private int[] arr = new int[20];

	@Override
	protected void setUp() throws Exception {
		System.out.print("原数组:");
		for (int i = 0; i < arr.length; i++) {
			arr[i] = new Random().nextInt(100);
			System.out.print(arr[i] + ",");
		}
		System.out.println();
		System.out
				.println("-------------------------------------------------------------------");
		System.out.println("数组长度: " + arr.length);
	}

	private static void exchange(int[] arr, int ind1, int ind2) {
		int temp = arr[ind1];
		arr[ind1] = arr[ind2];
		arr[ind2] = temp;
	}

	@SuppressWarnings("unused")
	private static int selectMin(int[] arr) {
		int min = arr[0];
		for (int i = 0; i < arr.length; i++) {
			if (arr[i + 1] > arr[i]) {
				min = arr[i + 1];
			}
		}
		return min;
	}

	@Test
	public void testBubbleSort() {
		for (int i = 0; i < arr.length; i++) {
			for (int j = 0; j < arr.length - i - 1; j++) {
				if (arr[j] > arr[j + 1]) {
					exchange(arr, j, j + 1);
				}
			}
		}
	}

	@Override
	protected void tearDown() throws Exception {
		System.out
				.println("-------------------------------------------------------------------");
		System.out.print("排序后: ");
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i] + ",");
		}
	}

	public void testSelectSort() {
		for (int i = 0; i < arr.length; i++) {
			int min = arr[i];
			int ind = i;
			for (int j = i; j < arr.length; j++) {
				if (min > arr[j]) {
					min = arr[j];
					ind = j;
				}
			}
			arr[ind] = arr[i];
			arr[i] = min;
		}
	}

	public void testInsertSort() {
		for (int index = 1; index < arr.length; index++) {
			int key = arr[index];
			int position = index;
			// shift larger values to the right
			while (position > 0 && arr[position - 1] > key) {
				arr[position] = arr[position - 1];
				position--;
			}
			arr[position] = key;
		}
	}

}


Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐