Java SE 035 冒泡排序、交换排序及快速排序原理与实现

(1)一个人只要自己不放弃自己,整个世界也不会放弃你.
(2)天生我才必有大用
(3)不能忍受学习之苦就一定要忍受生活之苦,这是多么痛苦而深刻的领悟.
(4)做难事必有所得
(5)精神乃真正的刀锋
(6)战胜对手有两次,第一次在内心中.
(7)编写实属不易,若喜欢或者对你有帮助记得点赞+关注或者收藏哦~

Java SE 035 冒泡排序、交换排序及快速排序原理与实现

1.System类arraycopy(复制数组)

public static void arraycopy(Object src,
                             int srcPos,
                             Object dest,
                             int destPos,
                             int length)

(1)Parameters:

  • src - the source array.
  • srcPos - starting position in the source array.
  • dest - the destination array.
  • destPos - starting position in the destination data.
  • length - the number of array elements to be copied.

(2)该方法的主要作用是将源数组的元素拷贝到目标数组里面去。

  • 第一个参数是:指待拷贝的数组
  • 第二个参数是:是源数组中的起始位置,从源数组里面的第几个元素位置开始拷贝。
  • 第三个参数是:将源数组拷贝到哪个数组里面去。
  • 第四个参数是:指定目标数组从第几个位置接收拷贝。
  • 第五个参数是:指待拷贝数组元素的个数。

示例:

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.三维数组

	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();

	}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值