数组元素逆序 (就是把元素对调)
分析:
A:定义一个数组,并进行静态初始化。
B:思路
把0索引和arr.length-1的数据交换
把1索引和arr.length-2的数据交换
...
只要做到arr.length/2的时候即可。
代码实战:
publicstaticvoid main(String[] args) {
int[]arr ={1,2,3,4,5};
// 5 4 3 2 1
reverse(arr);
for(inti=0;i<arr.length;i++)
{
System.out.print(arr[i]+",");
}
}
staticvoid reverse(int [] arr)
{
/*
// 第一次
int tem = arr[0];
arr[0] = arr[arr.length-1-0];
arr[arr.length-1-0] = tem;
// 第二次
int tem = arr[1];
arr[1] = arr[arr.length-1-1];
arr[arr.length-1-1] = tem;
*/
for(inti=0;i<arr.length/2;i++)
{
inttem = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i] = tem;
}
}
给定一个数组:
int [] arr = {80,10,8,200,3,210}
请按照从小到大顺序进行排序
代码实战:
publicstaticvoid main(String[] args) {
int [] arr = {80,10,8,200,3,210};
sort(arr);
for(inti=0;i<arr.length;i++)
{
System.out.print(arr[i]+",");
}
}
staticvoid sort(int [] arr)
{
for(intx=0;x<arr.length;x++)
{
for(inty=x+1;y<arr.length;y++)
{
if(arr[x]>arr[y])
{
inttemp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
}
int[] arr={24,69,80,57,13}
冒泡排序的概念
将一个数组中的元素,两两进行比较,大的往后面放,第一轮比较完成后,数组中最大值得元素会放在数组最大索引的位置,
同理,以此类推,最终会得出一个排序好的数组
冒泡排序的规律:
规律:1)两两比较,数组的最大值在最后面
2)第一次比较完成后,下一次再比较的时候,就少了一个元素进行比较了
第一次比较,有0个元素不比较
第二次比较,有1个元素不比较
第三次比较,有2个元素不比较
..................
3)总共需要比较的长度是 数组length-1
部分代码:
publicclass Demo1 {
publicstaticvoid main(String[] args) {
int[] arr={24,69,80,57,13};
printArr(arr);
//第一次比较
for(intx=0;x<arr.length-1;x++)
{
if(arr[x]>arr[x+1])
{
inttem = arr[x];
arr[x] = arr[x+1];
arr[x+1]=tem;
}
}
System.out.println("=========第一次比较后:=====");
printArr(arr);
//第二次比较
for(intx=0;x<arr.length-1-1;x++)
{
if(arr[x]>arr[x+1])
{
inttem = arr[x];
arr[x] = arr[x+1];
arr[x+1]=tem;
}
}
System.out.println("=========第二次比较后:=====");
printArr(arr);
}
publicstaticvoid printArr(int[]arr)
{
for(inti=0;i<arr.length;i++)
{
System.out.print(+arr[i]+",");
}
}
}
【冒泡排序的练习题】: