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

📄 radixsort.java

📁 这是Java的模式编程
💻 JAVA
字号:
package Strategy;
import java.util.Vector ;

class RadixSort extends SortStrategy
{
	private Vector [] vectorArray ;
	private int vectorNumber = 10 ;
	
	public RadixSort()
	{
		vectorArray = new Vector[ vectorNumber ] ;
		for(int i = 0 ; i < vectorNumber ; i++ )
			vectorArray[i] = new Vector() ;			
	}
	
	public int getBaseNumber( int data , int pass )
	{
		int power , i ;
		int value ,num1 , num2 ;
		power = 1 ;
		for( i = 1 ; i <= pass-1 ; i++ )
			power = power * 10 ;
		num1 = power;
		num2 = data % ( 10*power );
		
		value = num2 / num1 ;
		return value ;
	}
	
	public void BaseSort(Comparable [] A, int n)
	{
		int i , j ;
		int position ;
		Integer temp ;
		int passNumber ;
		int size ;
		int data = 0 ;
		int pass = 3 ;
		int count = 0 ;
		
		for( i=0 ; i < num ; i++ )
			A[i] = A[i+1] ;
		
		for( pass = 1 ; pass <= 8 ; pass++ )
		{
			count = 0 ;
			position = 0;
			for( i = 0 ; i < vectorNumber ; i++ )
				vectorArray[ i ].clear() ;
			
			while( count < n )
			{
				data = A[ count++ ] ;
				passNumber = getBaseNumber( data , pass ) ;
				vectorArray[ passNumber ].addElement( new Integer( data ) );
			}

			for( i = 0 ; i < vectorNumber ; i++ )
			{
				if( !vectorArray[i].isEmpty() )
				{
					size = vectorArray[i].size() ;			
					for( j = 0 ; j < size ; j++ )
					{
						temp =(Integer)( vectorArray[i].elementAt( j ) ) ;
						A[position + j] = temp.intValue() ;					
					}
					position = position + size ;
				}
			}
		}
	}
	
	
    public void sort(Comparable[] a)
    {
        //init data
       //create();        
        //sorting logic here
        BaseSort(a, a.length) ;
        //print data
        showOff();
        //System.out.println("I can do radix sort.");
        //show();
    }
}

⌨️ 快捷键说明

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