JAva 8大基礎ソートアルゴリズム
11327 ワード
// , , ,
public static void insertSort(int[] table)
{
System.out.println(" ");
for (int i=1; i=0 && temp0; delta/=2) // , ,
{
for (int i=delta; i=0 && temp
=0 && i=0 && jtable[j+1]) // ,
{
int temp = table[j];
table[j] = table[j+1];
table[j+1] = temp;
exchange=true; //
}
System.out.print(" "+i+" : ");
print(table);
}
}
public static void quickSort(int[] table) //
{
System.out.println(" ");
quickSort(table, 0, table.length-1);
}
// ,begin、high ,
private static void quickSort(int[] table, int begin, int end)
{
if (begin=0; j--) //
sift_min(table, j, n-1);
System.out.println(" ? "+isMinHeap(table));
System.out.println(" ( )");
for (int j=n-1; j>0; j--) // ,
{
int temp = table[0];
table[0] = table[j];
table[j] = temp;
sift_min(table, 0, j-1);
}
}
// begin ,begin、end
private static void sift_min(int[] table, int begin, int end)
{
int i=begin,j=2*i+1; //i ,j i
int temp=table[i]; // i
while (j<=end) //
{
if (jtable[j+1]) // ( table[j]) // ( =0; j--) //
sift_max(table, j, n-1);
System.out.println(" ? "+isMaxHeap(table));
System.out.println(" ( )");
for (int j=n-1; j>0; j--) // ,
{
int temp = table[0];
table[0] = table[j];
table[j] = temp;
sift_max(table, 0, j-1);
}
}
// begin ,begin、end
private static void sift_max(int[] table, int begin, int end)
{
int i=begin,j=2*i+1; //i ,j i
int temp=table[i]; // i
while (j<=end) //
{
if (j