本文整理汇总了Java中it.unimi.dsi.fastutil.ints.AbstractIntComparator类的典型用法代码示例。如果您正苦于以下问题:Java AbstractIntComparator类的具体用法?Java AbstractIntComparator怎么用?Java AbstractIntComparator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
AbstractIntComparator类属于it.unimi.dsi.fastutil.ints包,在下文中一共展示了AbstractIntComparator类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: indirectSort
import it.unimi.dsi.fastutil.ints.AbstractIntComparator; //导入依赖的package包/类
/**
* Indirect sort descendingly.
*
* @param cnt Count array
* @return Permutation, largest first
*/
private static int[] indirectSort(long[] cnt) {
int[] tmp = new int[cnt.length];
for(int i = 0; i < tmp.length; i++) {
tmp[i] = i;
}
// Indirect sort, descending (no need to sort 0):
IntArrays.quickSort(tmp, 1, tmp.length, new AbstractIntComparator() {
private static final long serialVersionUID = 1L;
@Override
public int compare(int k1, int k2) {
return Long.compare(cnt[k2], cnt[k1]);
}
});
return tmp;
}
示例2: IntBlockCompare
import it.unimi.dsi.fastutil.ints.AbstractIntComparator; //导入依赖的package包/类
private static IntComparator IntBlockCompare(Type type, Block block)
{
return new AbstractIntComparator()
{
@Override
public int compare(int left, int right)
{
if (block.isNull(left) && block.isNull(right)) {
return 0;
}
if (block.isNull(left)) {
return -1;
}
if (block.isNull(right)) {
return 1;
}
return type.compareTo(block, left, block, right);
}
};
}
示例3: reverseIndirectComparator
import it.unimi.dsi.fastutil.ints.AbstractIntComparator; //导入依赖的package包/类
public static IntComparator reverseIndirectComparator(final double[] x) {
return new AbstractIntComparator(){
@Override
public int compare(int k1, int k2) {
return Double.compare(x[k2], x[k1]);
}
};
}
示例4: indirectComparator
import it.unimi.dsi.fastutil.ints.AbstractIntComparator; //导入依赖的package包/类
public static IntComparator indirectComparator(final double[] x) {
return new AbstractIntComparator(){
@Override
public int compare(int k1, int k2) {
return Double.compare(x[k1], x[k2]);
}
};
}
示例5: sortBySize
import it.unimi.dsi.fastutil.ints.AbstractIntComparator; //导入依赖的package包/类
/**
* Renumbers by decreasing size the components of this set.
*
* <p>After a call to this method, both the internal status of this class and the argument array
* are permuted so that the sizes of connected components are decreasing in the component index.
*
* @param size the components sizes, as returned by {@link #computeSizes()}.
*/
public void sortBySize( final int[] size ) {
final int[] perm = Util.identity( size.length );
IntArrays.quickSort( perm, 0, perm.length, new AbstractIntComparator() {
public int compare( final int x, final int y ) {
return size[ y ] - size[ x ];
}
} );
final int[] copy = size.clone();
for ( int i = size.length; i-- != 0; )
size[ i ] = copy[ perm[ i ] ];
Util.invertPermutationInPlace( perm );
for ( int i = component.length; i-- != 0; )
component[ i ] = perm[ component[ i ] ];
}
示例6: sortBySize
import it.unimi.dsi.fastutil.ints.AbstractIntComparator; //导入依赖的package包/类
/** Renumbers by decreasing size the components of this set.
*
* <p>After a call to this method, both the internal status of this class and the argument
* array are permuted so that the sizes of strongly connected components are decreasing
* in the component index.
*
* @param size the components sizes, as returned by {@link #computeSizes()}.
*/
public void sortBySize( final int[] size ) {
final int[] perm = Util.identity( size.length );
IntArrays.quickSort( perm, 0, perm.length, new AbstractIntComparator() {
public int compare( final int x, final int y ) {
return size[ y ] - size[ x ];
}
});
final int[] copy = size.clone();
for ( int i = size.length; i-- != 0; ) size[ i ] = copy[ perm[ i ] ];
Util.invertPermutationInPlace( perm );
for( int i = component.length; i-- != 0; ) component[ i ] = perm[ component[ i ] ];
}