Java程式實現字元陣列上的二分查詢
在本文中,我們將學習如何使用Java在字元陣列上實現二分查詢。字元陣列上的二分查詢可以透過使用Arrays.binarySearch()方法來實現java.util包。如果該字元元素存在於陣列中,則此方法返回所需字元元素的索引,否則返回(-(插入點) - 1),其中插入點是該元素將在陣列中插入的位置。
問題陳述
用Java編寫一個程式,在字元陣列上實現二分查詢
輸入
'b', 's', 'l', 'e', 'm'
輸出
The sorted array is: b e l m s
The character e is at index 1
The character z is at index -6
在字元陣列上實現二分查詢的步驟
以下是字元陣列上實現二分查詢的步驟:
- 首先定義一個包含未排序元素的字元陣列,我們將使用Arrays.sort()對字元陣列進行排序。
- 使用for迴圈遍歷陣列以顯示排序後的字元。
- 呼叫Arrays.binarySearch()方法在排序後的陣列中搜索特定字元。
- 檢查返回的索引,如果找到該字元,則返回索引。
- 如果未找到該字元,則返回-1。
Java程式實現字元陣列上的二分查詢
以下是字元陣列上實現二分查詢的Java程式:
import java.util.Arrays;
public class Demo {
public static void main(String[] args) {
char c_arr[] = { 'b', 's', 'l', 'e', 'm' };
Arrays.sort(c_arr);
System.out.print("The sorted array is: ");
for (char i : c_arr) {
System.out.print(i + " ");
}
System.out.println();
int index1 = Arrays.binarySearch(c_arr, 'e');
System.out.println("The character e is at index " + index1);
int index2 = Arrays.binarySearch(c_arr, 'z');
System.out.println("The character z is at index " + index2);
}
}
輸出
The sorted array is: b e l m s The character e is at index 1 The character z is at index -6
程式碼解釋
上述程式首先建立一個字元陣列c_arr[],其中包含未排序的元素,例如'b'、's'、'l'、'e'和'm'。它使用java.util包中的Arrays.sort()對該陣列進行排序,然後使用for迴圈列印排序後的字元。接下來,它使用Arrays.binarySearch()搜尋字元'e',該方法找到它並顯示其索引。該程式還查詢字元'z',該字元不在陣列中,該方法返回一個負值,指示'z'將在排序陣列中的位置。總的來說,此程式有效地演示瞭如何在Java中對字元陣列執行二分查詢。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP