------- android培训、java培训、期待与您交流! ----------
一、获取最值(最大值和最小值)
class ArrayTest
{
public static void main(String[] args)
{
int[] arr={4,5,6,2,3,1};
intmax=getMax(arr);
System.out.println("max="+max);
intmin=getMin(arr);
System.out.println("min="+min);
}
publicstatic int getMax(int arr[])
{
intmax =arr[0];
for(int x=1 ;x<arr.length ;x++ )
{
if(arr[x]>max)
max=arr[x];
}
returnmax;
}
publicstatic int getMin(int arr[])
{
intmin=arr[0];
for(intx=1;x<arr.length;x++)
{
if(arr[x]<min)
min=arr[x];
}
returnmin;
}
}
二、数组排序
1.选择排序:内循环结束一次,最值出现在头角标的位置上。
class ArrayTest1
{
publicstatic void main(String[] args)
{
int[]arr={4,0,5,7,1,2};
print(arr);
selectSort(arr);
print(arr);
}
publicstatic void selectSort(int[]arr){
for(intx=0;x<arr.length-1;x++){
for(inty=x+1;y<arr.length;y++){
if(arr[x]>arr[y]){
inttemp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
publicstatic void printArray(int [] arr ){
System.out.print("[");
for(intx=0;x<arr.length;x++){
if(x!=arr.length-1){
System.out.print(arr[x]+",");
}else{
System.out.println(arr[x]+"]");
}
}
}
}
2.冒泡排序:相邻的两个元素进行比较,如果符合条件换位,最值出现在最后位。
class ArrayTest2
{
publicstatic void main(String[] args)
{
int[]arr={4,0,5,7,1,2};
print(arr);
bubbleSort(arr);
print(arr);
}
publicstatic void bubbleSort(int[]arr){
for(intx=0;x<arr.length-1;x++){
for(int y=0;y<arr.length-x-1;y++){
if(arr[y]>arr[y+1]){
inttemp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
}
publicstatic void printArray(int [] arr ){
System.out.print("[");
for(intx=0;x<arr.length;x++){
if(x!=arr.length-1){
System.out.print(arr[x]+",");
}else{
System.out.println(arr[x]+"]");
}
}
}
}
三、折半查找(二分查找)
import java.util.*;
class ArrayTest3
{
publicstatic void main(String[] args)
{
int[]arr = {3,5,7,8,23,43,55};
intindex = halfSearch(arr,190);
System.out.println("index="+index);
}
publicstatic int halfSearch(int[] arr,int key)
{
intmin,max,mid;
min= 0;
max= arr.length-1;
mid= (max+min)/2;
while(arr[mid]!=key)
{
if(key>arr[mid])
min= mid + 1;
elseif(key<arr[mid])
max= mid - 1;
if(min>max)
return-1;
mid= (max+min)/2;
}
returnmid;
}
}
四、进制转换
class ArrayTest4
{
publicstatic void main(String[] args)
{
toBin(-6);
toHex(-60);
toBa(60);
}
/*
十进制-->二进制
*/
publicstatic void toBin(int num)
{
trans(num,1,1);
}
/*
十进制-->八进制
*/
publicstatic void toBa(int num)
{
trans(num,7,3);
}
/*
十进制-->十六进制
*/
publicstatic void toHex(int num)
{
trans(num,15,4);
}
publicstatic void trans(int num,int base,int offset)
{
if(num==0)
{
System.out.println(0);
return;
}
char[]chs = {'0','1','2','3'
,'4','5','6','7'
,'8','9','A','B'
,'C','D','E','F'};
char[]arr = new char[32];
intpos = arr.length;
while(num!=0)
{
inttemp = num & base;
arr[--pos]= chs[temp];
num= num >>> offset;
}
for(intx=pos; x<arr.length; x++)
{
System.out.print(arr[x]);
}
System.out.println();
return;
}
}
五、数组反转
class ArrayTest5
{
publicstatic void main(String[] args)
{
int[]arr = {3,1,5,6,2};
printArray(arr);
reverseArray(arr);
printArray(arr);
}
publicstatic void reverseArray(int[] arr)
{
for(intstart=0,end=arr.length-1; start<end ; start++,end--)
{
inttemp = arr[start];
arr[start]= arr[end];
arr[end]= temp;
}
}
publicstatic void printArray(int[] arr)
{
System.out.print("[");
for(intx=0; x<arr.length; x++)
{
if(x!=arr.length-1)
System.out.print(arr[x]+",");
else
System.out.println(arr[x]+"]");
}
}
}
------- android培训、java培训、期待与您交流! ----------