1.配列の反転
次のようにコードをコピーします。
java.util.Arraysをインポートします。
パブリック クラス ArrayReverse {
public static void main(String[] args){
int[] arr ={1,2,3,4,5,6,7,8,9};
逆方向(arr);
}
public static void reverse(int[] arr){
for(int i=0;i<arr.length/2;i++){
int temp = arr[i];
arr[i] =arr[arr.length-1-i];
arr[arr.length-1-i]=temp;
}
System.out.println(Arrays.toString(arr));
}
}
2. 最適な値を見つける
次のようにコードをコピーします。
クラスZuiZhi
{
public static void main(String[] args)
{
int[] a={2,92,34,54,28};
minMethod(a);
maxMethod(a);
}
public static void minMethod(int[] a)
{
int min=a[0];//0 に初期化できません。配列には負の数が含まれる可能性があります
for (int i=0;i<a.length;i++)
{
if(a[i]<分)
分=a[i];
}
System.out.println("配列内の最小要素は次のとおりです: "+min);
}
public static void maxMethod(int[] a)
{
int max=a[0];//0 に初期化できません。配列には負の数が含まれる可能性があります。
for (int i=0;i<a.length;i++)
{
if(a[i]>最大)
最大=a[i];
}
System.out.println("配列内の最大の要素は次のとおりです: "+max);
}
}
3. 半分で検索
次のようにコードをコピーします。
/*
半分で検索:
3 5 7 9 10 14
最小=0 最大=長さ-1 中間=(最大+最小)/2
*/
classBinarySearch
{
public static void main(String[] args)
{
int[] a={3,5,7,9,10,14};
int インデックス=binarySearch_1(a,7);
System.out.println(インデックス);
インデックス=binarySearch_2(a,14);
System.out.println(インデックス);
}
public static int binarySearch_1(int[] a,int key)
{
int min=0,mid,max=a.length-1;
中間=(最小値+最大値)/2;
while (key!=a[mid])
{
if(a[mid]>キー)
{
最大=ミッド-1;
}
else if (a[mid]<key)
{
最小=中間+1;
}
if (最大<最小)
-1 を返します。
中間=(最小値+最大値)/2;
}
途中で戻ります。
}
public static int binarySearch_2(int[] a,int key)
{
int min=0,max=a.length-1,mid;
while (最小<= 最大)
{
中間 =(最大+最小)>>1;
if(a[mid]>キー)
{
最大=ミッド-1;
}
else if (a[mid]<key)
{
最小=中間+1;
}
それ以外
途中で戻ります。
}
-1 を返します。
}
}