⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 indexsort.java

📁 一个用java写的地震分析软件(无源码)-used to write a seismic analysis software (without source)
💻 JAVA
字号:
package org.trinet.util;
/**
 * Sort routine based on ISORT.FOR from the CUSP library which was based
 * on method of MEISSNER & ORGANICK, P.352 
 * Returns array of indexes sorted in ascending order leaving the 
 * original array untouched.
 */
public class IndexSort
{

    public IndexSort () 
    {
    }

/** 
 * Sort integer array
 */
    public static int[] getSortedIndexes (int[] RX)
    {
	int J, I, NEXT;
	int N = RX.length;

	int IX[] = new int[RX.length];

      for (I = 0; I < N; I++)   // starting array
      {
	IX[I] = I;
      }

      for (J=0; J<(N-1); J++)
      {
        NEXT = IX[J + 1];

	for (I=J ; I>=0; I--)
	{
          if ( RX[NEXT] >= RX[IX[I]] ) break;
          IX[I + 1] = IX[I];
	} 

        IX[I + 1] = NEXT;

       } 

	return (IX);
    }


/**
 * Sort double array
 */
    public static int[] getSortedIndexes (double[] RX)
    {
	int J, I,NEXT;
	int N = RX.length;

	int IX[] = new int[RX.length];

//  INDIRECT SORT ROUTINE FROM MEISSNER & ORGANICK, P.352
//  STORES ASCENDING SORT ORDER OF RX IN ARRAY IX, LEAVING RX UNCHANGED

      for (I = 0; I < N; I++)   // starting array
      {
	IX[I] = I;
      }

//      for (J=0; J<(N-2); J++)
      for (J=0; J<(N-1); J++)
      {
        NEXT = IX[J + 1];

	for (I=J ; I>=0; I--)
	{
          if ( RX[NEXT] >= RX[IX[I]] ) break;
          IX[I + 1] = IX[I];
	} // 20

        IX[I + 1] = NEXT;

       } // 40

	return (IX);
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -