您的位置:首页 > 其它

数组总结

2015-09-01 19:24 239 查看
1冒泡排序和选择排序

package hello;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashSet;
import java.util.Random;
import java.util.TreeSet;

public class Test02{
public static void main(String[] args) throws Exception {
//把数组拼接成一个字符串
int[] arr={34,23,12,55,13};
sort(arr);
System.out.println(arrayToString2(arr));
for(int x=0;x<arr.length-1;x++){
for(int y=0;y<arr.length-1-x;y++){
if(arr[y]>arr[y+1]){
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
System.out.println(arrayToString2(arr));

}

public static void sort(int[] arr){
for(int x=0;x<arr.length-1;x++){
for(int y=x+1;y<arr.length;y++){
if(arr[y]<arr[x]){
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
public static String arrayToString2(int[] arr){
StringBuffer sb=new StringBuffer();
sb.append("[");
for(int i=0;i<arr.length;i++){
if(i==arr.length-1){
sb.append(arr[i]);
}else{
sb.append(arr[i]).append(", ");

}
}
sb.append("]");
return sb.toString();
}
public static String arrayToString(int[] arr){
String s="";
s+="[";
for(int i=0;i<arr.length;i++){
if(i==arr.length-1){
s+=arr[i];
}else{
s+=arr[i];
s+=", ";
}
}
s+="]";
return s;
}
}


二分查找

package hello;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashSet;
import java.util.Random;
import java.util.TreeSet;

public class Test02{
public static void main(String[] args) throws Exception {
int[] arr={12,13,17,24,29,44};
int mid=getIndex(arr, 14);
System.out.println(mid);

}
public static int getIndex(int[] arr,int value){
int max=arr.length-1;
int min=0;

int mid=(max+min)/2;

while(arr[mid]!=value){
if(arr[mid]>value){
max=mid-1;
}else if(arr[mid]<value){
min=mid+1;
}
if(min>max){
return -1;
}
mid=(max+min)/2;
}
return mid;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: