import java.util.Arrays;
public class Test{
public static int[] bubbleSort(int[] a){//冒泡法排序
boolean flag=true;
for(int i=a.length-1;i>=0;i--)
{
for(int j=0;j<=i-1;j++)//注意数组下标越界
{
if(a[j]>a[j+1])
{
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
flag=false;
}
}
}
/* if(flag==true)
return; */
return a;
}
public static double average(int[] a){//去掉一个最大值,最小值求平均值
double sum=0;
int max=Integer.MIN_VALUE;
int min=Integer.MAX_VALUE;
for(int v:a)
{
sum+=v;
if(v>max)
{
max=v;
}
if(v<min)
{
min=v;
}
}
return sum/(a.length);
/* bubbleSort(a);
double sum=0;
for(int i=1;i<a.length-1;i++)
{
sum+=a[i];
} */
/* return sum/(a.length-2); */
}
public static int[] rotate(int[] a,int key){//字符串旋转
while(key>1){
int temp=a[0];
int i=0;
for(i=0;i<a.length-1;i++)
{
a[i]=a[i+1];
}
a[a.length-1]=temp;;
key--;
}
return a;
}
public static int[] sortArrayByParity1(int[] a){
//将一个数组中的数偶数放在前面,奇数放在后面
int begin=0;
int end=a.length-1;
//[begin,end]区间内的数是未判断的数
//[0,begin] 偶数
//[end,a.length] 奇数
while(begin<end)
{
while(begin<end&&a[begin]%2==0)
{
begin++;
}
while(begin<end&&a[end]%2!=0)
{
end--;
}
int temp=a[begin];
a[begin]=a[end];
a[end]=temp;
}
return a;
}
public static int[] sortArrayByParity2(int[] a){
int d=0;
for(int i=0;i<a.length;i++)
{
if(a[i]%2==0)
{
int temp=a[i];
a[i]=a[d];
a[d]=temp;
d++;
}
}
return a;
}
public static void main(String[] agrs){
int[] a={1,2,3,4,5,6,7,8};
System.out.println(Arrays.toString(bubbleSort(a))); //冒泡法排序
System.out.println(average(a));
System.out.println(Arrays.toString(rotate(a,5)));//字符串旋转
System.out.println(Arrays.toString(sortArrayByParity1(a)));
System.out.println(Arrays.toString(sortArrayByParity2(a)));
}
}
冒泡排序,数组旋转和数组中的数偶数在前奇数在后
最新推荐文章于 2022-04-13 15:34:33 发布