配列とクイックソート
3262 ワード
一、配列
1.配列の宣言.2つの形式:1.タイプ識別子[]配列名、int[]a;2.タイプ識別子配列名[],int[]a.1つの配列は、文が複数の配列変数int[]a,b,cであることを宣言することができる.配列を使用する第2のステップは、配列にメモリを割り当て、実際に配列を作成することです.JAvaのメモリ割り当て操作はnew操作を使用し、符号フォーマット:配列名=newタイプ識別子[整数式];
コードのデモ:
2.多次元配列、フォーマット:1.タイプ識別子配列名[][2.タイプ識別子[][]配列名3.タイプ識別子[]配列名[]eg:int a[]=new int[2][3];
1.配列をコピーし、システムメソッドarraycopyを使用して有効にコピーするには、public static void arraycopy(Object source,int src Index,Object dest,int destindex,int length)の5つのパラメータが必要です.
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に分割する.
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()メソッドのような基本タイプを用いる必要がある.
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()メソッドのような基本タイプを用いる必要がある.