java实现简单的排序算法
/****/package bishiti;import java.util.Random;import junit.framework.TestCase;import org.junit.Test;/*** @author 程科 各种排序算法实现*/public class Sorts extends TestCase {private int[] a
·
/**
*
*/
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;
}
}
}
更多推荐
所有评论(0)