类 Insertion
- java.lang.Object
-
- edu.princeton.cs.algs4.Insertion
-
public class Insertion extends java.lang.Object
TheInsertion
class provides static methods for sorting an array using insertion sort.This implementation makes ~ 1/2 n^2 compares and exchanges in the worst case, so it is not suitable for sorting large arbitrary arrays. More precisely, the number of exchanges is exactly equal to the number of inversions. So, for example, it sorts a partially-sorted array in linear time.
The sorting algorithm is stable and uses O(1) extra memory.
See InsertionPedantic.java for a version that eliminates the compiler warning.
For additional documentation, see Section 2.1 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
-
-
方法概要
修饰符和类型 方法 说明 static int[]
indexSort(java.lang.Comparable[] a)
Returns a permutation that gives the elements in the array in ascending order.static void
main(java.lang.String[] args)
Reads in a sequence of strings from standard input; insertion sorts them; and prints them to standard output in ascending order.static void
sort(java.lang.Comparable[] a)
Rearranges the array in ascending order, using the natural order.static void
sort(java.lang.Comparable[] a, int lo, int hi)
Rearranges the subarray a[lo..hi) in ascending order, using the natural order.static void
sort(java.lang.Object[] a, int lo, int hi, java.util.Comparator comparator)
Rearranges the subarray a[lo..hi) in ascending order, using a comparator.static void
sort(java.lang.Object[] a, java.util.Comparator comparator)
Rearranges the array in ascending order, using a comparator.
-
-
-
方法详细资料
-
sort
public static void sort(java.lang.Comparable[] a)
Rearranges the array in ascending order, using the natural order.- 参数:
a
- the array to be sorted
-
sort
public static void sort(java.lang.Comparable[] a, int lo, int hi)
Rearranges the subarray a[lo..hi) in ascending order, using the natural order.- 参数:
a
- the array to be sortedlo
- left endpoint (inclusive)hi
- right endpoint (exclusive)
-
sort
public static void sort(java.lang.Object[] a, java.util.Comparator comparator)
Rearranges the array in ascending order, using a comparator.- 参数:
a
- the arraycomparator
- the comparator specifying the order
-
sort
public static void sort(java.lang.Object[] a, int lo, int hi, java.util.Comparator comparator)
Rearranges the subarray a[lo..hi) in ascending order, using a comparator.- 参数:
a
- the arraylo
- left endpoint (inclusive)hi
- right endpoint (exclusive)comparator
- the comparator specifying the order
-
indexSort
public static int[] indexSort(java.lang.Comparable[] a)
Returns a permutation that gives the elements in the array in ascending order.- 参数:
a
- the array- 返回:
- a permutation
p[]
such thata[p[0]]
,a[p[1]]
, ...,a[p[n-1]]
are in ascending order
-
main
public static void main(java.lang.String[] args)
Reads in a sequence of strings from standard input; insertion sorts them; and prints them to standard output in ascending order.- 参数:
args
- the command-line arguments
-
-