Java-数组操作

1.快速打印数组内容:方法:Arrays.toString()

2.数组排序 n

        快速排序方法:Arrays.sort()

//java标准库内置了排序功能,调用JDK提供的Arrays.sort()
int[] ns2 = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36 };
Arrays.sort(ns2);
System.out.println(Arrays.toString(ns2));

        排序常见算法:

  • 冒泡排序

        比较相邻的元素,如果第一个比第二个大,就交换他们两个。对每一对相邻元素做相同操作,从开始一对到最后一对,最后,最末尾的元素应该是数组中最大的数。针对所有元素都重复此步骤(除了最后一个数),应该进行 n.length-1 次。

        第一次是对n个数,进行n-1次比较,进行到最后第n个数是最大的;第二次是对n-1个数 进行n-2次比较,进行到最后第n-1个数是最大的。

//冒泡排序
int[] ns1 = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36 };
//每个元素进行相邻元素的比较,需要进行length-1次比较(最后一个元素不用进行比较操作)
for(int i=0;i<ns1.length-1;i++){
//比较相邻元素,如果第一个比第二个大,就交换它们两个。(第一次对n个元素进行n-1次比较,第二次对n-1个元素进行n-2次比较)
for(int j=0;j<ns1.length-1-i;j++){
    if (ns1[j] > ns1[j+1]) {
        int temp = ns1[j];
        ns1[j] = ns1[j+1];
        ns1[j + 1] = temp;
        }
    }
}
  • 插入排序

        对于一个含有n个元素的完全无序的数组,把第一个元素视为一个有序数组,其余n-1个视为无序,依次把无序的元素插入到有序的数组里,需要一个外部循环,重复n-1次。

        插入过程中,插入n[i]时,第n[0[~n[i-1]是有顺序的,要将n[i]依次与n[0]~n[i-1]进行比较,确定插入的合适位置。需要一个内部循环。

//直接插入排序
//对于一个含有n个元素的完全无序的数组,把第一个元素视为一个有序数组,其余n-1个视为无序,依次把无序的元素插入到有序的数组里,需要一个外部循环,重复n-1次。
//插入过程中,插入n[i]时,第n[0[~n[i-1]是有顺序的,要将n[i]依次与n[0]~n[i-1]进行比较,确定插入的合适位置。需要一个内部循环
int ns4[] = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36 };
for (int i=1;i<ns4.length;i++){
    int j= i-1;
    while (j>=0 && ns4[j]>ns4[j+1]){
        int tmp = ns4[j+1];
        ns4[j+1] = ns4[j];
        ns4[j] = tmp;
        j--;
    }
}
System.out.println(Arrays.toString(ns4));

3.多维数组

快速打印二维数组:Arrays.deepToString()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值