(1)人が諦めない限り、全世界があなたを諦めない
(2)私は大いに役立つために生まれる(3)
学ぶことの苦しみに耐えられないのなら、人生の苦しみに耐えなければならない。深い理解。
(4)難しいことをすることで得なければなりません。(
5)精神は本当の刃です。
(6)相手を2回、心の中で初めて征服します。
(7)書くのは本当に簡単ではありません。好きな場合や何か持っている場合好き+フォローまたはお気に入りを忘れないでください〜
Java SE 035バブルソート、交換ソート、クイックソートの原則と実装
1.システムクラスarraycopy(コピーアレイ)
public static void arraycopy(Object src,
int srcPos,
Object dest,
int destPos,
int length)
(1)パラメータ:
- src-ソース配列。
- srcPos-ソース配列の開始位置。
- dest-宛先配列。
- destPos-宛先データの開始位置。
- length-コピーされる配列要素の数。
(2)このメソッドの主な機能は、ソース配列の要素をターゲット配列にコピーすることです。
- 最初のパラメータは次のとおりです。コピーする配列を参照します
- 2番目のパラメーターは次のとおりです。はソース配列の開始位置であり、そこからソース配列の要素位置がコピーされます。
- 3番目のパラメーターは、ソース配列のコピー先の配列です。
- 4番目のパラメーターは次のとおりです。コピーを受信するターゲット配列の位置を指定します。
- 5番目のパラメーターは次のとおりです。コピーする配列要素の数を示します。
例:
public class ArrayTest2
{
public static void main(String [] args){
int [] a = new int[]{
1,2,3,4};
int [] b = new int[4];
System.arraycopy(a,0,b,0,4);
for(int i = 0; i < b.length; i++){
System.out.println(b[i]);
}
}
}
2.3次元配列
type [][][] a = new type[2][3][4];
public class ThreeDimensionArrayTest
{
public static void main(String [] args){
int [][][] a = new int[2][3][4];
System.out.println(a instanceof int[][][]);
for(int i = 0 ; i < a.length; i++){
for(int j = 0 ; j < a[i].length; j++){
for(int k = 0; k<a[i][j].length; k++){
a[i][j][k] = 100;
}
}
}
}
}
3.バブルソート
package com.javareview.arraysim;
/**
* 冒泡排序
* @author xiongjie
*
*/
public class ArraySort {
public static void main(String[] args) {
int [] a = new int[] {
100,108,33,156,15,76,90};
for(int i = 0 ; i < a.length - 1;i++) {
//控制比较的轮数
//控制每一次比较的元素的索引。为什么要-i-1呢,主要控制排完序之后,即找到的第三或第四大的元素就不用去比较它们了。也就是每一次比较的个数都比上一次少一个。
for(int j = 0 ; j < a.length - i - 1;j++) {
if(a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
for(int k = 0 ; k < a.length ; k++) {
System.out.print(a[k] + " ");
}
System.out.println();
}
}