数组-查找及排序
查找及排序
查找
- 线性查找
二分查找
排序
选择排序
- 直接选择排序
- 堆排序
- 交换排序
- 冒泡排序
- 快速排序
- 插入排序
- 直接插入排序
- 折半插入排序
- shell排序
- 归并排序
- 桶式排序
- 基数排序
线性查找、二分查找、冒泡排序的代码
//线性查找
int array[] = {1,2,3,4,5,6};
int temp = 2;
for(int i=0;i<array.length;i++){
if(temp==array[i]){
System.out.println("查找到数据,下标为:"+i);
}
}
//二分查找(必须是有序的集合)
int start = 0;
int end = array.length-1;
while(start<=end){
int mid = (start+end)/2;
if(temp==array[mid]){
System.out.println("查找到数据,下标为:"+mid);
break;
}else if(temp<array[mid]){
end = mid-1;
}else {
start = mid + 1;
}
}
//冒泡排序
int[] array1 = {2,5,1,7,3,9,7};
for(int i =0;i<array1.length;i++){
for(int j = 0;j<array1.length-1-i;j++){
if(array1[j]>array1[j+1]){
int num = array1[j];
array1[j] = array1[j+1];
array1[j+1] = num;
}
}
}
System.out.println(Arrays.toString(array1));