查找
二分查找
package com. pzc. array;
public class ArrayDemo04 {
public static void main ( String[ ] args) {
int [ ] arr= { 5 , 8 , 12 , 26 , 34 , 55 , 64 , 78 , 89 , 112 } ;
int ans= getIndexByEle ( arr, 12 ) ;
System. out. println ( "查找的数字序列号(没找到为-1):" + ans) ;
}
private static int getIndexByEle ( int [ ] arr, int n) {
int min= 0 ;
int max= arr. length- 1 ;
int mid= ( min+ max) / 2 ;
while ( min<= max) {
if ( n== arr[ mid] )
return mid+ 1 ;
else if ( n< arr[ mid] )
{
max= mid- 1 ;
} else if ( n> arr[ mid] ) {
min= mid+ 1 ;
}
mid= ( min+ max) / 2 ;
}
return - 1 ;
}
}
排序
冒泡排序
package com. pzc. array;
public class ArrayDemo05 {
public static void main ( String[ ] args) {
int [ ] arr= { 12 , 51 , 55 , 454 , 26 , 66 , 65 , 84 , 35 , 22 } ;
int tmp= arr[ 0 ] ;
for ( int i = 0 ; i < arr. length- 1 ; i++ ) {
for ( int j = i; j < arr. length; j++ ) {
if ( arr[ j] < arr[ i] )
{
tmp= arr[ j] ;
arr[ j] = arr[ i] ;
arr[ i] = tmp;
}
}
}
for ( int i = 0 ; i < 10 ; i++ ) {
System. out. print ( arr[ i] + "\t" ) ;
}
}
}
直接插入排序
package com. pzc. array;
import java. util. Arrays;
public class ArrayDemo06 {
public static void main ( String[ ] args) {
int [ ] arr= { 12 , 51 , 55 , 454 , 26 , 66 , 65 , 84 , 35 , 22 } ;
for ( int i = 0 ; i < arr. length; i++ ) {
for ( int j= i; j> 0 ; j-- ) {
if ( arr[ j] < arr[ j- 1 ] ) {
int tmp = arr[ j] ;
arr[ j] = arr[ j- 1 ] ;
arr[ j- 1 ] = tmp;
}
}
}
System. out. println ( Arrays. toString ( arr) ) ;
}
}