数组的定义
数组:一些具有相同数据类型的集合
数组的长度-就是对应着存放数据的个数
数组的下标-是数组赋值的依赖,从0开始
0-第一个位置 1-第二个位置...最大下标-长度-1
数组的排序
一、冒泡排序
比较相邻的俩个数,如果按照顺序排序,
当前的数a,比后面的数b大时,
交换位置,第一轮过后,最大的值会排在数组后面,
经过n-1轮完成排序
public static void method01()
{
int as[]={12,14,10,-9,36,2,0,14,15};
for (int i=0;i<as.length-1;i++)//外循环 比较轮次,大的放后面
{
for(int j=0;j<as.length-1-i;j++)//每循坏一次,产生一个最大值,故减循坏长度减i
{
int a=as[j];
int b=as[j+1];
if (a>b) //升序,降序>改<
{
int temp=as[j];//定义一个相同类型的变量来存放数组的值
as[j]=as[j+1];//把小的移到前一步
as[j+1]=temp;//把大的后移一位
}
}
}
System.out.println(Arrays.toString(as)); //通过Arrys.toString方法输出,不需要循坏就可输出
}
二、选择排序
数组中的每个值与数组中的第一个值做对比,按照顺序排序,当第一个数a比这个数b大时交换位置
第一轮过后,最小的排在最左边,经过n-1轮完成排序
public static void method02()
{
int as[]={12,14,10,-9,36,2,0,14,15};
//升序排序
System.out.println("排序前"+Arrays.toString(as));
for (int i=0;i<as.length-1;i++) //每个数组元素与第i个元素做对比,比他小的与它交换位置
{
for (int j=i+1;j<as.length-1;j++) //从第i个后面开始比较,前面已经排好了i个,无需再比较
{
int a=as[i];
int b=as[j];
if(a>b) //第i个大与第j个 ,交换位置,让小的在前面 //降序排序把>变<
{
int c=as[j];
as[j]=as[i];
as[i]=c;
}
}
}
System.out.println("排序后"+Arrays.toString(as));
}
}