在 Java 中排序和搜索元素
原文:https://www . geesforgeks . org/sort-and-search-in-a-element-in-Java/
在 Java 中,对数组中的元素进行排序和搜索非常容易。与 C 语言不同,在 C 语言中,我们必须使所有的函数都工作,Java 有内置的函数来做同样的工作。要对数组进行排序,有一个排序函数;要在排序后的数组中搜索元素,有一个 binarySearch()函数。要了解这些功能的更多信息,请阅读以下文章:
时间复杂度: O (n log n)
排序语法:
Arrays.sort(array_name);
搜索:Java 中的 Arrays.binarySearch()示例
对于使用二分搜索法数组必须事先排序
要点:
- 如果输入数组没有排序,结果是未定义的和负的。
- 如果有重复,不能保证会找到哪一个。
时间复杂度: O (log n)
二进制搜索语法:
Arrays.binarySearch(array_name, key);
我们总是可以创建用户定义的函数,但是 Java 中的内置函数已经在使用复杂度最低的算法,所以没有必要创建这样的函数。
示例 1: 在排序数组中查找元素。
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to find an
// element in an sorted array
// Importing util files
import java.util.*;
public class Gfg {
// Main function
public static void main(String args[]) throws Exception
{
// Sorted Array
int array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// Using binarySearch to search for desired element
int index = Arrays.binarySearch(array, 2);
// Printing result
if (index >= 0)
System.out.println("Element 2 found at index: "
+ index);
else
System.out.println("Element not found");
}
}
输出:
Element 2 found at index: 1
示例 2: 对数组进行排序,并在排序后的数组中搜索元素。
Java 语言(一种计算机语言,尤用于创建网站)
// Java program for Sorting an array and
// searching for an element in the
// sorted array
// Importing util files
import java.util.*;
public class Gfg {
// Main function
public static void main(String args[]) throws Exception
{
// Unsorted Array
int array[] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
// Sorting the array
Arrays.sort(array);
// Printing sorted array
System.out.println("Sorted Array:");
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
// Using binarySearch to search for desired element
int index = Arrays.binarySearch(array, 0);
// Printing result
if (index >= 0)
System.out.println("Element 2 found at index: "
+ index);
else
System.out.println("Element not found");
}
}
输出:
Sorted Array:
1 2 3 4 5 6 7 8 9 10
Element 2 found at index: 1
版权属于:月萌API www.moonapi.com,转载请注明出处