有序数组二分查找实现:
public class BinarySearch{
public static int binarySearch(int[] array
, int key
) {
int leftArray
= 0;
int rightArray
= array
.length
;
while(leftArray
< rightArray
){
int midArray
= leftArray
+ (rightArray
- leftArray
)/2;
if(key
== array
[midArray
]){
return midArray
;
}else if(key
< array
[midArray
]){
rightArray
= midArray
;
}else{
leftArray
= midArray
+ 1;
}
}
return -1;
}
public static void main(String
[] args
) {
int[] array
= {1,2,3,4,5,6,7,8,9};
int index1
= binarySearch(array
,7);
System
.out
.println("7 的下标是:" + index1
);
}
}
运行结果:
冒泡排序
import java
.util
.Arrays
;
public class BubbleSort{
public static void bubbleSort(int[] array
){
int tmp
= 0;
for(int i
=0; i
<array
.length
-1; i
++){
boolean isSwapped
= false;
for(int j
=0; j
< array
.length
- i
- 1; j
++){
if(array
[j
] > array
[j
+1]) {
tmp
= array
[j
];
array
[j
] = array
[j
+1];
array
[j
+1] = tmp
;
isSwapped
= true;
}
}
if(!isSwapped
){
return;
}
}
}
public static void printArray(int[] array
){
for(int i
=0; i
<array
.length
; i
++){
System
.out
.printf("%d ",array
[i
]);
}
System
.out
.println();
}
public static void main(String
[] args
){
int[] randomArray
= new int[]{ 3,5,2,12,3,56,75,32};
System
.out
.print("使用自定义方法打印数组: \t");
printArray(randomArray
);
System
.out
.print("使用toString方法打印数组: \t");
System
.out
.println(Arrays
.toString(randomArray
));
bubbleSort(randomArray
);
System
.out
.print("排序后的数组: \t\t\t");
System
.out
.println(Arrays
.toString(randomArray
));
}
}
转载请注明原文地址: https://yun.8miu.com/read-113162.html