冒泡排序
文章来源地址https://www.toymoban.com/news/detail-641864.html
// 1、准备一个数组
int[] arr = {5,2,3,1};
//2、定义一个循环控制排几轮
for (int i = 0; i < arr.length - 1; i++) {
// i = 0 1 2 【5,2,3,1】 次数
// i = 0 第一轮 0 1 2 3
// i = 1 第二轮 1 2 2
// i = 2 第三轮 0 1
//3、定义一个循环控制每轮比较几次。
for (int j = 0; i < arr.length-i-1; j++) {
//判断当前位置的元素值,是否大于后一个位置处的元素值,如果大则交换。
if(arr[j] > arr[j+1]){
int temp = arr[i+1];
arr[j+1] = arr[i];
arr[j] = temp;
}
}
}
system.out.println(Arrays.toString(arr));
选择排序
// 1、准备一个数组
int[] arr = {5,2,3,1};
//2、定义一个循环控制排几轮
for (int i = 0; i < arr.length - 1; i++) {
// i = 0 1 2 【5,2,3,1】
// 0 1 2 3
// i = 0 第一轮 j= 1 2 3
// i = 1 第二轮 j= 2 3
// i = 2 第三轮 j= 3
//3、定义一个循环控制每轮比较几次。
for (int j = i + 1; i < arr.length; j++) {
//判断当前位置的元素值,是否大于后一个位置处的元素值,如果大则交换。
if(arr[i] > arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
system.out.println(Arrays.toString(arr));
简化代码,适用于当数组非常大时提高性能
// 1、准备好一个数组
int[] arr = {5,1,3,2};/ /
//2、控制选择几轮
for (int i = 0; i < arr.length - 1; i++) {
int minIndex = i;
//3、控制每轮选择几次。
for (int j = i + 1; j < arr.length; j++) {
//判断当前位置是否大于后面位置处的元素值,若大于则交换。
if(arr[minIndex] > arr[i]){
minIndex = j;
}
}
//决定是否交换。
if(i != minIndex) {
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
system.out.println(Arrays.toString(arr));
二分查找
public static void main(String[] args) {
//1.准备好一个数组,首先这个数组必须是排好顺序的
int[] arr = {7,23,79,81,103,127,131,147};
//接下来将二分法定义成一个方法,调用这个方法
System.out.println(binarySearch(arr, 81));//返回 3
System.out.println(binarySearch(arr, 166));//返回 -1
}
public static int binarySearch(int[] arr, int data){
//1.定义两个变量,一个站在左边位置,一个站在右边位置。
int left = 0;
int right = arr.length-1;
//2.定义一个循环 控制折半
while (left <= right){
//3.每次折半都算出中间位置的索引
int middle = (left + right)/2;
//4.判断当前要找的元素值,与中间位置处的元素值的大小情况
if (data < arr[middle]) {
//往左边找,截止位置(右边位置) = 中间位置 - 1;
right = middle -1;
}else if (data >arr[middle]){
//往右边找,截止位置(左边位置) = 中间位置 + 1;
left = middle +1;
}else {
return middle;//刚好中间位置就是需要的元素
}
}
return -1;//代表数组中没有要找的元素。
}
文章来源:https://www.toymoban.com/news/detail-641864.html
到了这里,关于Java:简单算法:冒泡排序、选择排序、二分查找的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!