配列とクイックソート

3262 ワード

一、配列
1.配列の宣言.2つの形式:1.タイプ識別子[]配列名、int[]a;2.タイプ識別子配列名[],int[]a.1つの配列は、文が複数の配列変数int[]a,b,cであることを宣言することができる.配列を使用する第2のステップは、配列にメモリを割り当て、実際に配列を作成することです.JAvaのメモリ割り当て操作はnew操作を使用し、符号フォーマット:配列名=newタイプ識別子[整数式];
コードのデモ:
//           
for(i=a.length-1;i>=0;i--){
	System.out.println("a["+i"]="+a[i]);//      
}

2.多次元配列、フォーマット:1.タイプ識別子配列名[][2.タイプ識別子[][]配列名3.タイプ識別子[]配列名[]eg:int a[]=new int[2][3];
public class Sample{
	public static void main(String[] args){
		int[][] arr={{1,2,3},{4,5,6}};
		int[] foo=arr[0];
		//               ,       
		for(int i=0;i<=arr.length;i++){
			for(int j=0;j
二、配列関連用法
1.配列をコピーし、システムメソッドarraycopyを使用して有効にコピーするには、public static void arraycopy(Object source,int src Index,Object dest,int destindex,int length)の5つのパラメータが必要です.
System.arraycopy(copyF,2,copyT,0,7);// copyF                 copyT   。

2.値を付けることもできます.
配列を検索します.1.順序検索;2.二分検索.3.ArrayクラスのbinarySearchメソッドbinarySearchメソッドbinarySearchメソッドは、public static int binarySearch(Xxx a[],Xxx v)が、指定された配列aでこのルックアップアルゴリズムを使用して値vを検索する要素であることを宣言します.三、並べ替え配列の迅速な並べ替えの基本思想;高速ソート法を用いてa[0,n−1]をソートし、a[0,n−1]からMiddleとして1つの要素をソートし、この要素は中点(支点)であり、残りの要素を2つのセグメント--leftとrightに分割する.
class Sample5{
	private double[] theArry;//      
	private int nElems;//      
	//----------------------------------
	public Sample5(int max){//    
		theArry =new double[max];//    
		nElems=0;//       0
		
	}
	//------------------------------
	public void insert(double value){//       
	theArry[nElems]=value;
	nElems++;
		
	}
	//------------------------------------
	public void dispaly(){//    
	System.out.print("A=");
	for(int j=0;j0&&theArry[--rightPtr]>pivot)
				;
			if(leftPtr>rightPtr)
				//             
			break;
			else
				swap(leftPtr,rightPtr);
			return leftPtr;
		}
		
	}
	//----------------------------------------------------------------
	public void swap(int dex1,int dex2){
		double temp=theArry[dex1];
		theArry[dex1]=theArry[dex2];
		theArry[dex2]=temp;
	}
}
//  QuickSortApp       
public class QuickSortApp{
	public static void main(String[] args){
		int maxSise=16;//    
		Sample5 arr;//    
		arr=new Sample5(maxSise);//          
		for(int j=0;j
四、Arraysクラスのsortメソッド
1.sortメソッドの一般的な使用形態publi sttic void sort(Xxx,a[]).aのタイプはchar/byte/short/int/long/float/double 2.sortメソッドであってもよく、public static void sort(Xxx a[],int fromIndex,int toIndex)の他の一般的な形式は配列aの指定範囲内のみをソートする.a[toIndex]は含まれません.
五、配列の比較
Arraysクラスは配列全体を比較するためにequals()メソッドを再ロードした.方法は、public static boolean equals[type[]a 1,type[]a 2].tyoeのタイプがchar/byte/short/int/long/float/double配列が等しい条件として、2つの要素の個数が等しくなければならず、位置の要素が等しいことを宣言する.これは,各要素に対してequals()を用いることで判断できるが,基本タイプに対しては(int対応のIntegerクラス,char対応はCharacterクラス)のequals()メソッドのような基本タイプを用いる必要がある.