java-数组

数组

数组的概念:

数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器

数组既可以存储基本数据类型,也可以存储引用数据类型

数组是一组相关数据的集合,一个数组实际上就是一连串的变量.

声明一个数组就是在内存空间划出一  串连续的相同类型的空间

 数据类型[] 数组名 = 初值

注意:[ ]中5就是数组array的长度

数组的长度一旦给定 就不能修改

1.其中数据类型代表: 数组中盛放数据的 数据类型

2.数组使用下标(角标)来访问元素(保存元素)  下标从0开始

使用步骤:

 赋值:

 常见的错误:

 冒泡排序:

冒泡排序是一种基于比较交换操作的排序算法。 每轮冒泡的过程都是从第一个元素开始,将该元素和相邻下一个元素进行比较交换,使得较大的元素向右移动(如果该元素大于下一个元素,则两个元素交换;如果该元素小于等于下一个元素,则保持不变)。这样一来,每轮冒泡的过程都可以确定一个元素放在正确的位置上,而这个元素就是剩余元素中最大的元素,正确的位置就是剩余位置中的最右侧的位置。这个过程就像是气泡上浮一样,所以叫做冒泡排序。

   int num = 0;

   for (int i = 0; i < age.length - 1; i++) {

       for (int j = 0; j <age.length - 1 - i ; j++) {

            if (age[j] > age[j+1]){

               num = age[j+1];

               age[j+1] = age[j];

               age[j] = num;

           }

       }

   }

1、冒泡排序是原地排序算法

因为冒泡排序过程中并不需要开辟新的数组空间,只需要常数个变量用于标记或者交换,所以冒泡排序是原地排序算法。

2、冒泡排序是稳定排序算法

在比较交换操作过程中,如果第一个元素大于第二个元素,我们才交换两个元素,两个元素相等时,保持不变。所以两个相等的元素在排序前后的相对位置并不会发生变化,所以冒泡排序是稳定排序算法。

3、时间复杂度是O(n2)

最好情况

此时数组本身已经有序,冒泡排序只需要一轮就可退出,时间复杂度为O(n)

最坏情况

此时数组本身是逆序的,完成冒泡排序需要n轮,比较的次数为n+(n-1)+(n-2)+...+2+1,时间复杂度为O(n2)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值