JAva(配列および一般的な単純アルゴリズム)
4456 ワード
はいれつ
≪配列|Array|emdw≫:配列は、同じデータ型データを格納する集合コンテナです.
配列の定義形式:データ型[]変数名=newデータ型[長さ];
配列の利点:配列オブジェクトに割り当てられたデータごとに番号(インデックス値、コーナースケール、下付きスケール)が割り当てられ、インデックス値の範囲は0から始まり、最大は長さ-1です.
ローカル変数:変数がメソッド(関数)の内部で宣言されている場合、変数はローカル変数です.
メンバー変数:メンバー変数はメソッドの外、クラス内に定義されます.
配列で最も一般的な問題:
1.Null PointerException空ポインタ異常原因:参照タイプ変数はオブジェクトを指さず、オブジェクトのプロパティにアクセスしたり、オブジェクトを呼び出したりする方法.2.ArrayIndexOutOfBoundsExceptionインデックス値が境界を越えています.理由:存在しないインデックス値にアクセスしました.
配列の初期化方法:
プログラムが最初からデータを特定している場合は、静的初期化を推奨します.データが最初から不明な場合は、ダイナミック初期化を推奨します.
≪ソートの選択(直接ソート)|Select Sort(Direct Sort)|oem_src≫:1つの要素を使用して他の要素と1つずつ比較し、条件を満たす場所を交換します.
バブルソート:バブルソートの考え方は、隣接する2つの要素を1つずつ比較し、条件交換位置に合致することです.
折半ルックアップ(二分法):使用前提は秩序化された配列である必要があります.
2 D配列:2 D配列は配列内の配列です.
2 D配列の定義形式:
データ型[][変数名=newデータ型[長さ1][長さ2];
2 D配列の初期化方法:
配列の特徴:
1.配列は、同じデータ型のデータしか格納できません.2.配列は配列に格納された要素にインデックス値を割り当て、インデックス値は0から始まり、最大のインデックス値はlength-1である.3.配列が初期化されると、長さが固定されます.4.配列内の要素と要素の間のメモリアドレスは連続しています.
転載先:https://www.cnblogs.com/intelwisd/p/8038929.html
≪配列|Array|emdw≫:配列は、同じデータ型データを格納する集合コンテナです.
配列の定義形式:データ型[]変数名=newデータ型[長さ];
配列の利点:配列オブジェクトに割り当てられたデータごとに番号(インデックス値、コーナースケール、下付きスケール)が割り当てられ、インデックス値の範囲は0から始まり、最大は長さ-1です.
ローカル変数:変数がメソッド(関数)の内部で宣言されている場合、変数はローカル変数です.
メンバー変数:メンバー変数はメソッドの外、クラス内に定義されます.
配列で最も一般的な問題:
1.Null PointerException空ポインタ異常原因:参照タイプ変数はオブジェクトを指さず、オブジェクトのプロパティにアクセスしたり、オブジェクトを呼び出したりする方法.2.ArrayIndexOutOfBoundsExceptionインデックス値が境界を越えています.理由:存在しないインデックス値にアクセスしました.
配列の初期化方法:
:
[] = new [ ];
:
[] = { 1, 2.....};
プログラムが最初からデータを特定している場合は、静的初期化を推奨します.データが最初から不明な場合は、ダイナミック初期化を推奨します.
class Demo7 {
public static void main(String[] args) {
//
//int[] arr = new int[10];
//
int[] arr = {10,20,30,40,50};
for(int index = 0 ; index
class Demo8 {
public static void main(String[] args)
{
int[] arr = {-12,-14,-5,-26,-4};
int max = getMax(arr);
System.out.println(" :"+ max);
}
public static int getMax(int[] arr) {
int max = arr[0]; //
for(int i = 1 ; i < arr.length ; i++){
if(arr[i]>max){ // max , max 。
max = arr[i];
}
}
return max;
}
}
≪ソートの選択(直接ソート)|Select Sort(Direct Sort)|oem_src≫:1つの要素を使用して他の要素と1つずつ比較し、条件を満たす場所を交換します.
class Demo9 {
public static void main(String[] args) {
int[] arr = {12,5,17,8,9}; // 5 , 4 。
selectSort(arr);
}
public static void selectSort(int[] arr) {
// 。
for(int j = 0; jarr[j]){
//
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
// ,
System.out.print(" :");
for (int i = 0 ; i
バブルソート:バブルソートの考え方は、隣接する2つの要素を1つずつ比較し、条件交換位置に合致することです.
class Demo10 {
public static void main(String[] args) {
int[] arr = {12,8,17,5,9}; // : 4 :5
bubbleSort(arr);
}
public static void bubbleSort(int[] arr){
//
for(int j = 0 ; jarr[i+1]){
int temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
}
// ,
System.out.print(" :");
for (int i = 0 ; i
折半ルックアップ(二分法):使用前提は秩序化された配列である必要があります.
class Demo12 {
public static void main(String[] args) {
int[] arr = {12,16,19,23,54};
//int index = searchEle(arr,23);
int index = halfSearch(arr,116);
System.out.println(" :"+ index);
}
public static int halfSearch(int[] arr, int target){
// 、 、
int max = arr.length-1;
int min = 0;
int mid = (max+min)/2;
while(true){
if(target>arr[mid]){
min = mid+1;
}else if(target
2 D配列:2 D配列は配列内の配列です.
2 D配列の定義形式:
データ型[][変数名=newデータ型[長さ1][長さ2];
2 D配列の初期化方法:
:
[][] = new [ 1][ 2];
:
[][] = {{ 1, 2...},{ 1, 2...},{ 1, 2...} ..}
class Demo16 {
public static void main(String[] args) {
int[][] arr = {{10,11,9},{67,12},{33,35,39,40}};
//
for(int i = 0; i
配列の特徴:
1.配列は、同じデータ型のデータしか格納できません.2.配列は配列に格納された要素にインデックス値を割り当て、インデックス値は0から始まり、最大のインデックス値はlength-1である.3.配列が初期化されると、長さが固定されます.4.配列内の要素と要素の間のメモリアドレスは連続しています.
転載先:https://www.cnblogs.com/intelwisd/p/8038929.html