排序1
karte 2011-04-09 12:39:56 public class Sort
{
private static int[] elem;
private static int[] tempElem;
static int i = 0;
public static void init(int[] elem)
{
Sort.elem = elem;
Sort.tempElem = new int[elem.length];
}
public static int[] getElem()
{
return elem;
}
public static int[] getRandomData(int count)
{
int[] elem = new int[count];
for (int i = 0; i < elem.length; i++)
{
elem[i] = (int)(Math.random() * count);
}
return elem;
}
public static void bubbleSort()
{
for (int i = elem.length - 1; i > 0; i--)
{
for (int j = 0; j < i; j++)
{
if(elem[j] > elem[j + 1])
{
swap(j, j + 1);
}
}
}
}
public static void simpleMerge(int low, int mid, int len)
{
int i, j, k;
int[] temp = new int[len + 1];
for (i = low, j = mid + 1, k = low; i <= mid && j <= len; k++)
{
if(elem[i] <= elem[j])
{
temp[k] = elem[i++];
}
else
{
temp[k] = elem[j++];
}
}
for (; i <= mid; i++, k++)
{
temp[k] = elem[i];
}
for (; j <= len; j++, k++)
{
temp[k] = elem[j];
}
for (i = low; i <= len; i++)
{
elem[i] = temp[i];
}
}