OCA Java imtahan mövzuları

Sorting & Searching Array

Sorting

Massivləri sort etmək üçün Arrays.sort() metodundan istifadə edilir. Arrays java tərəfindən təmin olunmuş birinci classdır ki, import tələb edir. Əgər import edilməzsə, hər dəfə tam formada – java.util.Arrays – çağırmaqla da istifadə etmək olar. Əgər kod nümunələri birinci sətirdən (line 1) başlamazsa, onda güman etməlisiniz ki, lazımı importlar artıq var.

int[] num = { 6, 9, 1 };
Arrays.sort(num);
for(int i = 0; i<num.length; i++)
    System.out.print(num[i] + " ");     // 1 6 9

String[] string = { "10", "9", "100" };
Arrays.sort(string);
for(String s: string)
    System.out.printf("%s ",s);         // 10 100 9

String əlifba sırası ilə sort edilir və 1 9`dan öncə gəldiyi üçün 100 9`dan öncə gəlib. String ilə sıralamada rəqəmlər hərflərdən və böyük hərflər (uppercase) kiçik hərflərdən (lowercase) öncə gəlir.

 

Searching

Massivdə axtarış apara bilmək üçün ilk öncə həmin massiv sort olunmalıdır. Axtarışla bağlı 3 hal mövcuddur:

  1. Axtarılan element sort olunan massivdə tapılarsa: elementin tapıldığı uyğun indeks geri qaytarılır;
  2. Axtarılan element sort olunan massivdə tapılmazsa: axtarılan element əgər massivdə olsaydı hansı indeksdə olardı, onu təyin edir, üzərinə 1 əlavə edir və mənfi ədədə çevirir;
  3. Sort olunmamış massivdirsə: nəticəni əvvəlcədən təxmin etmək mümkün deyil.
int[] nums = {2,4,6,8};
System.out.println(Arrays.binarySearch(nums, 2));   // 0
System.out.println(Arrays.binarySearch(nums, 4));   // 1
System.out.println(Arrays.binarySearch(nums, 1));   // -1
System.out.println(Arrays.binarySearch(nums, 3));   // -2
System.out.println(Arrays.binarySearch(nums, 9));   // -5

int[] num2 = new int[] {3,2,1};                     // unsort
System.out.println(Arrays.binarySearch(num2, 2));   // 1
System.out.println(Arrays.binarySearch(num2, 3));   // -4

 

[topics lang=az]

About the author

Mushfiq Mammadov

Leave a Comment


The reCAPTCHA verification period has expired. Please reload the page.

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.