111. ืืื ืืืืืคืื ื ืชืื ืื ืืื ืฉืจืฉืืจืื?
ืืื ืืืืืืฃ ื ืชืื ืื ืืื ืฉืจืฉืืจืื, ืืชื ืืืื ืืืฉืชืืฉ ืืืจืื ืืืฉืืช ืืืืฆืขืื ืฉืื ืื: ืืืืืื, ืืฉืชืืฉ ืืืฉืชื ืื ืืืืืืื, ืืืกืคืื ืืกืื ืืจื ืื ืืกืืคืืจ. ืืื ืืื ืืคืชืืจ ืืขืื ืื, ืืชื ืืืืื ืขื Exchanger . Exchanger ืืื ืืืืงืช ืกื ืืจืื ืืืืืืื ืืืงืืื ืืืืคืฉืจืช ืืืืคืช ืืืื ืืื ืืื ืืื ืืืืื ืขื ืืื ืืฆืืจืช ื ืงืืืช ืกื ืืจืื ืืฉืืชืคืช. ืืฉืืืืฉ ืื ืืคืฉื ืืช ืืืืืคื ืื ืชืื ืื ืืื ืฉื ื ืฉืจืฉืืจืื. ืืืจื ืฉืื ืื ืขืืื ืืื ืื ืคืฉืืื: ืืื ืืืชืื ื ืืฉื ื ืฉืจืฉืืจืื ื ืคืจืืื ืืื ืืงืจืื ืืฉืืืช exchange() ืฉืื . ื ืืฆืจ ืืื ืืื ืืฉืื ืืื ื ืงืืืช ืืืืคื: ืืืื ืืจืืฉืื ืฉื ืืช ืืืคืฅ ืฉืื ืืืงืื ืืช ืืืคืฅ ืฉื ืืืืจ ืืชืืืจื, ืืืืืจืื, ืืชืืจื, ืืงืื ืืช ืืืคืฅ ืฉื ืืจืืฉืื ืืื ืื ืืช ืฉืื. ืืืืืจ, ืืฉืจืฉืืจ ืืจืืฉืื ืืฉืชืืฉ ืืฉืืืช exchange() ืืืื ืื ืคืขืื ืขื ืฉืจืฉืืจ ืืืจ ืงืืจื ืืฉืืืช exchange() ืขื ืืืชื ืืืืืืงื ืืืืืคืช ื ืชืื ืื ืืื ืืื. ืืืืืื, ืฉืงืื ืืช ืืืืฉืื ืืื ืฉื ืืืืงืช Thread :public class CustomThread extends Thread {
private String threadName;
private String message;
private Exchanger<String> exchanger;
public CustomThread(String threadName, Exchanger<String> exchanger) {
this.threadName = threadName;
this.exchanger = exchanger;
}
public void setMessage(final String message) {
this.message = message;
}
@Override
public void run() {
while (true) {
try {
message = exchanger.exchange(message);
System.out.println(threadName + " ะฟะพัะพะบ ะฟะพะปััะธะป ัะพะพะฑัะตะฝะธะต: " + message);
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
ื-thread constructor, ืื ื ืืืืืจืื ืืืืืืงื Exchanger ืฉืืงืื ืืืืืืงืืื ืืกืื String , ืืืืคืขืื (ืืฉืืืช run ) ืื ื ืืฉืชืืฉืื ื-change() ืฉืื ืืื ืืืืืืฃ ืืืืขื ืขื ืฉืจืฉืืจ ืืืจ ืฉืืฉืชืืฉ ืืฉืืื ืื ืืืืชื Exchanger . ืืื ื ืจืืฅ ืืช ืื ื- main :
Exchanger<String> exchanger = new Exchanger<>();
CustomThread first = new CustomThread("ะะตัะฒัะน ", exchanger);
first.setMessage("ะกะพะพะฑัะตะฝะธะต ะฟะตัะฒะพะณะพ ะฟะพัะพะบะฐ");
CustomThread second = new CustomThread("ะัะพัะพะน", exchanger);
second.setMessage("ะกะพะพะฑัะตะฝะธะต ะฒัะพัะพะณะพ ะฟะพัะพะบะฐ");
first.start();
second.start();
ืืงืื ืกืืื ืชืฆืื:
112. ืื ืืืืื ืืื ืืืืืงื Thread ืืืื ืืืฉืง Runnable?
ืืืืจ ืืจืืฉืื ืฉืืฆืืื ืืื ืฉ- Thread ืืื ืืืืงื, Runnable ืืื ืืืฉืง, ืืื ืืืื ืืืื ืืจืืจ =D ืื ื ืื ืืืื ืฉ- Thread ืืฉืชืืฉ ื-Runnable (ืงืืืคืืืืฆืื). ืืืืืจ, ืืฉ ืื ื ืฉืชื ืืจืืื:-
ืืืจืฉ ื- Thread , ืขืืงืฃ ืืช ืฉืืืช ืืจืืฆื, ืืื ืฆืืจ ืืช ืืืืืืืงื ืืื ืืืชืื ืืช ืืฉืจืฉืืจ ืืืืฆืขืืช ืืืชืืื start() .
-
ืืืฉื Runnable ืืืืืงื ืืกืืืืช, ืืืฉื ืืช ืฉืืืช run() ืฉืื ืืืืืจ ืืื ืฆืืจ ืืืืืืงื Thread , ืืงืฆืืช ืืืฉืื ืืืืืืงื ืื ืฉื ืืืฉืง Runnable ืืื ืื ืฉืื . ืืืื, ืืกืืฃ, ืืคืขื ืืช ืืืืืืงื Thread ืืืืฆืขืืช ืฉืืืช start() .
-
ืืืฉืจ ืืชื ืืืืฉื ืืช ืืืฉืง ืืืคืขืื , ืืชื ืื ืืฉื ื ืืช ืืชื ืืืืช ืืฉืจืฉืืจ. ืืขืฆื ืืชื ืจืง ื ืืชื ืืฉืจืฉืืจ ืืฉืื ืืืคืขืื. ืืืื ืืืจืื ืฉืื ื, ืฉืืชืืจื ื ืืฉื ืืืืฉื ืืืื.
-
ืืืฉืื Runnable ื ืืชื ืืืชืจ ืืืืฉืืช ืืืืชื ืฉืื. ืื ืืชื ืืืจืฉ ื- Thread , ืื ืืคืขืืื ืฉืชืืฆืข ืชืืื ืชืืื ืืฉืจืฉืืจ. ืืื ืื ืืชื ืืืืฉื Runnable ืื ืื ืืืื ืืืืืช ืจืง ืฉืจืฉืืจ. ืืืจื ืืื, ืืชื ืืืื ืืืคืขืื ืืืชื ืืฉืจืฉืืจ ืื ืืืขืืืจ ืืืชื ืืฉืืจืืช executor ืืืฉืื. ืืืื, ืื ืคืฉืื ืืืขืืืจ ืืช ืื ืืืคืฉืื ืืืฉืืื ืืืคืืืงืฆืื ืขื ืืื ืืืื.
-
ืืฉืืืืฉ ื- Runnable ืืืคืฉืจ ืื ืืืคืจืื ืืืืคื ืืืืื ื ืืื ืืืฆืืข ืืฉืืื ืืืื ืืืืืงื ืฉื ืืงืจืช ืืืืื.
-
ื-Java, ืจืง ืืจืืฉื ืืืืืช ืืคืฉืจืืช, ืื ืฉื ืืชื ืืืจืืื ืจืง ืืืืงื ืืืช. ืืื ืขื ืืืช, ืืกืคืจ ืืืืฉืงืื ืื ืืชื ืื ืืืจืืื ืืื ืืืชื ืืืืื (ืืื, ืื ืืืฉ ืืืชื ืืืืื, ืืื 65535 , ืืื ืื ืกืืืจ ืฉืชืืืขื ืืืืืื ืืื ืื ืคืขื).
113. ืืฉื ื ืืืืื T1, T2 ื-T3. ืืื ืืืืฉื ืืืชื ืืจืฆืฃ?
ืืืืจ ืืจืืฉืื ืืืคืฉืื ืืืืชืจ ืฉืขืืื ืืจืืฉ ืืื ืฉืืืืฉ ืืฉืืืช join() . ืื ืืฉืขื ืืช ืืืืฆืืข ืฉื ืืฉืจืฉืืจ ืื ืืืื (ืฉื ืงืจื ืืฉืืื) ืขื ืฉืืฉืจืฉืืจ ืฉืื ื ืงืจืื ืืฉืืื ืืกืืื ืืช ืืืืฆืืข. ืืืื ื ืืฆืืจ ืืืฉืื ืฉืจืฉืืจ ืืฉืื ื:public class CustomThread extends Thread {
private String threadName;
public CustomThread(final String threadName){
this.threadName = threadName;
}
@Override
public void run() {
System.out.println(threadName + " - ะฝะฐัะฐะป ัะฒะพั ัะฐะฑะพัั");
try {
// ะฟัะพะธัั
ะพะดะธั ะฝะตะบะฐั ะปะพะณะธะบะฐ
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(threadName + " - ะทะฐะบะพะฝัะธะป ัะฒะพั ัะฐะฑะพัั");
}
}
ืืืื ื ืชืืื ืฉืืืฉื ืฉืจืฉืืจืื ืืืื ืืื ืืื ืืืืฆืขืืช join() :
CustomThread t1 = new CustomThread("ะะตัะฒัะน ะฟะพัะพะบ");
t1.start();
t1.join();
CustomThread t2 = new CustomThread("ะัะพัะพะน ะฟะพัะพะบ");
t2.start();
t2.join();
CustomThread t3 = new CustomThread("ะขัะตัะธะน ะฟะพัะพะบ");
t3.start();
t3.join();
ืคืื ืืกืืฃ:
ืืฉืืืืช ืืขืฉืืืช
114. ืกืืื ืืืืกืื ื ืืืจืืงืก (ืืขืืืช Leetcode)
ืชื ืื: ืืฉื ืืช ืกืืื ืื ืืืืื ืืื ืืืืืกืื ืืจืืฉื ืืื ืืืืื ืืื ืืืืืกืื ืื ืืกืฃ ืฉืืื ื ืืืง ืืืืืืกืื ืืจืืฉื. 1. ืขื ืืืจืืฆื โโืฉื ืืฆืืจื: mat = [[1,2,3], [4,5,6], [7,8,9]] ืืคืื ืฆืจืื ืืืืืช - 25 2. ืขื ืืืจืืฆื โโ- mat = [[1,1 ,1,1], [1,1,1,1], [1,1,1,1], [1,1,1,1]] ืืคืื ืฆืจืื ืืืืืช - 8 3. ืขื a matrix - mat = [[ 5]] ืืืกืงื ื ืฆืจืืื ืืืืืช - 5 ืืฉืื ืืช ืืงืจืืื ืืืืฉื ืืช ืืืืืื ืฉืื. ืืคืชืจืื ืฉืื ืืืื ืืื:public static int countDiagonalSum(int[][] matrix) {
int sum = 0;
for (int i = 0, j = matrix.length - 1; i < matrix.length; i++, j--) {
sum += matrix[i][i];
if (j != i) {
sum += matrix[i][j];
}
}
return sum;
}
ืืื ืงืืจื ืืืขืืจ ืืื ืืืขืจื, ืฉืืืืืื ืืฉ ืื ื ืฉื ื ืืื ืืงืกืื ืืืื: i - ืืืืืื ืขื ืฉืืจืืช ืืืขืจื ืืืขืืืืืช ืฉื ืืืืืกืื ืืจืืฉื, j - ืืืืืื ืขื ืืขืืืืืช ืฉื ืืืืืกืื ืื ืืกืฃ. ืื ืืชื ืฉื ืืืืืกืื ืืจืืฉื ืืืชื ืื ืืกืฃ ืขืืืื ืืงื ื ืืื, ืื ืืชืขืืืื ืืืื ืืขืจืืื ืืขืช ืืืฉืื ืืกืืื. ืืืื ื ืืืืง ืืืืฆืขืืช ืืืืจืืฆืืช ืืืชื ืื:
int[][] arr1 = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
System.out.println(countDiagonalSum(arr1));
int[][] arr2 = {
{1, 1, 1, 1},
{1, 1, 1, 1},
{1, 1, 1, 1},
{1, 1, 1, 1}};
System.out.println(countDiagonalSum(arr2));
int[][] arr3 = {{5}};
System.out.println(countDiagonalSum(arr3));
ืคืื ืืกืืฃ:
115. ืืื ืืคืกืื (ืืชืืจ Leetcode)
ืชื ืื: ืืืขืจื ืฉืืืื, ืืืืื ืืช ืื ื-0 ืขื ืืกืืฃ, ืชืื ืฉืืืจื ืขื ืืกืืจ ืืืืกื ืฉื ืืืื ืืื ืฉืืื ื ืืคืก. 1. ืขื ืืขืจื: [0,1,0,3,12] ืืคืื ืฆืจืื ืืืืืช: [1,3,12,0,0] 2. ืขื ืืขืจื: [0] ืืคืื ืฆืจืื ืืืืืช: [0] ืืฉืื ืืืชืื ืืช ืืืืืื ืฉืื... ืืืืืื ืฉืื:public static void moveZeroes(int[] nums) {
int counterWithoutNulls = 0;
int counterWithNulls = 0;
int length = nums.length;
while (counterWithNulls < length) {
if (nums[counterWithNulls] == 0) {// ะฝะฐั
ะพะดะธะผ ะฝัะปะตะฒัะต ัะปะตะผะตะฝัั ะธ ัะฒะตะปะธัะธะฒะฐะตะผ ัััััะธะบ
counterWithNulls++;
} else { // ัะดะฒะธะณะฐะตะผ ัะปะตะผะตะฝัั ะฝะฐ ะบะพะปะธัะตััะฒะพ ะฝะฐะนะดะตะฝะฝัั
ะฝัะปะตะฒัั
ัะปะตะผะตะฝัะพะฒ ัะปะตะฒะฐ
nums[counterWithoutNulls++] = nums[counterWithNulls++];
}
}
while (counterWithoutNulls < length) {
nums[counterWithoutNulls++] = 0;// ะทะฐะฟะพะปะฝัะตะผ ะฟะพัะปะตะดะฝะธะต ัะปะตะผะตะฝัั ะผะฐััะธะฒะฐ ะฝัะปัะผะธ ัะพะณะปะฐัะฝะพ ัััััะธะบั ะฝัะปะตะน
}
}
ืึผึฐืึดืืงึธื:
int[] arr1 = {1, 2, 0, 0, 12, 9};
moveZeroes(arr1);
System.out.println(Arrays.toString(arr1));
int[] arr2 = {0};
moveZeroes(arr2);
System.out.println(Arrays.toString(arr2));
ืคืื ืืกืืฃ:
116. ื ืชืื ืจืฉืืื <String> ืฉืืืช. ืืกืจ ืืช ืืืืช ืืจืืฉืื ื ืืื ืฉื ืืกืืื ืืช ืืจืฉืืื ืืืืืื ืช
1. ืืืืจ ืืจืืฉืื ืฉืขืืื ืขื ืืืขืช ืืื ืืฉืืืืช ืฉื ืืืืืงื Collections , ืืืืืื ืฉืืืืช ืขืืจ ืจืืืช ืืืืกืคืื:public static List<String> processTheList(List<String> nameList) {
for (int i = 0; i < nameList.size(); i++) {
nameList.set(i, nameList.get(i).substring(1));
}
Collections.sort(nameList);
return nameList;
}
2. ืืื ืื, ืื ืื ืื ื ืืฉืชืืฉืื ื-Java ืืจืกื 8 ืืืขืื, ืื ืื ื ืคืฉืื ืฆืจืืืื ืืืฆืื ืืช ืืคืชืจืื ืืืืฆืขืืช ืืจืืื:
public static List<String> processTheList(List<String> nameList) {
return nameList.stream()
.map(x -> x.substring(1))
.sorted().collect(Collectors.toList());
}
ืืื ืงืฉืจ ืืคืชืจืื ืื ืืืจ, ืืืืืื ืขืฉืืื ืืืืืช ืืืืงืื:
List<String> nameList = new ArrayList();
nameList.add("John");
nameList.add("Bob");
nameList.add("Anna");
nameList.add("Dmitriy");
nameList.add("Peter");
nameList.add("David");
nameList.add("Igor");
System.out.println(processTheList(nameList));
ืคืื ืืกืืฃ:
117. ืืคืื ืืช ืืืขืจื
ืคืชืจืื 1 ืฉืื, ืืืืจ ืืจืืฉืื ืฉืขืืื ืขื ืืืขืช ืืื ืืืฉืชืืฉ ืืฉืืืืช ืฉื ืืืืงืช ืืฉืืจืืช ืืขืืจ Collections . ืืื ืืืืืื ืฉืืฉ ืื ื ืืขืจื, ืจืืฉืืช ืขืืื ื ืืืืืจ ืืืชื ืืืืกืฃ (ืจืฉืืื):public static Integer[] reverse(Integer[] arr) {
List<Integer> list = Arrays.asList(arr);
Collections.reverse(list);
return list.toArray(arr);
}
ืคืชืจืื 2 ืืืืืื ืฉืืฉืืื ืืืืชื ืขื ืืขืจื, ืื ื ืืืฉื ืฉืืฉ ืฆืืจื ืืืฆืื ืืช ืืคืชืจืื ืืืื ืืืฉืชืืฉ ืืคืื ืงืฆืืื ืืืืช ืืืื ื ืืืืฅ ืืงืืคืกื, ืืื ืืืืจ, ืืคื ืืงืืืกืืงื:
public static Integer[] reverse(Integer[] arr) {
for (int i = 0; i < arr.length / 2; i++) {
int temp = arr[i];
arr[i] = arr[arr.length - 1 - i];
arr[arr.length - 1 - i] = temp;
}
return arr;
}
ืึผึฐืึดืืงึธื:
Integer[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9};
System.out.println(Arrays.toString(reverse(arr)));
ืคืื ืืกืืฃ:
118. ืืืืง ืื ืืืชืจ ืืื ืคืืื ืืจืื
ืคืชืจืื 1 ืืืื ืืืืืจ ืืื ืืช StringBuilder : ืืื ืืืืฉ ืืืชืจ ืืขืฉืืจ ืืฉืืืืช ืฉืื ืืช ืืืฉืืืื ื- String ืจืืื . ืื ื ืืชืขื ืืื ืื ืืืืืื ืืฉืืื ืืืคืืื :public static boolean isPalindrome(String string) {
string = string.toLowerCase(); //ะฟัะธะฒะพะดะธั ะฒัั ัััะพะบั ะบ ะฝะธะถะฝะตะผั ัะตะณะธัััั
StringBuilder builder = new StringBuilder();
builder.append(string);
builder.reverse(); // ะฟะตัะตะฒะพัะธะฒะฐะตะผ ัััะพะบั ะผะตัะพะดะพะผ Builder-ะฐ
return (builder.toString()).equals(string);
}
ืคืชืจืื: ืืืืฉื ืืืื ืชืืื ืืื ืฉืืืืฉ ื"ืคืจืฆืืช" ืืืืฅ ืืงืืคืกื. ืื ื ืืฉืืืื ืืช ืืชืืืื ืืืืืง ืืืืืจื ืฉื ืืืืจืืืช ืขื ืืชืืืื ืืืงืืืืื ืืืคื ืื:
public static boolean isPalindrome(String string) {
string = string.toLowerCase();
int length = string.length();
int fromBeginning = 0;
int fromEnd = length - 1;
while (fromEnd > fromBeginning) {
char forwardChar = string.charAt(fromBeginning++);
char backwardChar = string.charAt(fromEnd--);
if (forwardChar != backwardChar)
return false;
}
return true;
}
ืืื ืื ื ืืืืงืื ืืช ืฉืชื ืืืืฉืืช:
boolean isPalindrome = isPalindrome("Tenet");
System.out.println(isPalindrome);
ืคืื ืืกืืฃ:
119. ืืชืื ืืืืืจืืชื ืืืื ืคืฉืื (ืืืขื, ืืืืจื ืื ืืขืืืจืช). ืืื ืืคืฉืจ ืืฉืคืจ?
ืืชืืจ ืืืืืจืืชื ืคืฉืื ืืืืฉืื, ืืืจืชื ืืืืื ืืืืจื - ืืืื ืืืืจื:public static void selectionSorting(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
int min = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[min]) {
min = j; // ะฒัะฑะธัะฐะตะผ ะผะธะฝะธะผะฐะปัะฝัะน ัะปะตะผะตะฝั ะฒ ัะตะบััะตะผ ัะธัะปะพะฒะพะผ ะพััะตะทะบะต
}
}
int temp = arr[min]; // ะผะตะฝัะตะผ ะผะตััะฐะผะธ ะผะธะฝะธะผะฐะปัะฝัะน ัะปะตะผะตะฝั ั ัะปะตะผะตะฝัะพะผ ะฟะพะด ะธะฝะดะตะบัะพะผ i
arr[min] = arr[i]; // ัะฐะบ How ะพััะตะทะพะบ ะฟะพััะพัะฝะฝะพ ัะผะตะฝััะฐะตััั
arr[i] = temp; // ะธ ะฒัะฟะฐะดะฐััะธะต ะธะท ะฝะตะณะพ ัะธัะปะฐ ะฑัะดัั ะผะธะฝะธะผะฐะปัะฝัะผะธ ะฒ ัะตะบััะตะผ ะพััะตะทะบะต
} // ะธ How ะธัะพะณ - ัะธัะปะฐ ะพััะฐะฒัะธะตัั ะฒะฝะต ัะตะบััะตะน ะธัะตัะฐัะธะธ ะพััะพััะธัะพะฒะฐะฝั ะพั ัะฐะผะพะณะพ ะฝะฐะธะผะตะฝััะตะณะพ ะบ ะฑะพะปััะตะผั
}
ืืืจืกื ืืืฉืืคืจืช ืชืืจืื ืื:
public static void improvedSelectionSorting(int[] arr) {
for (int i = 0, j = arr.length - 1; i < j; i++, j--) { // ัะฐััะผะฐััะธะฒะฐะตะผัะน ะพััะตะทะพะบ ั ะบะฐะถะดะพะน ะธัะตัะฐัะธะตะน
// ะฑัะดะตั ัะผะตะฝััะฐัััั ั ะะะฃะฅ ััะพัะพะฝ ะฟะพ ะพะดะฝะพะผั ัะปะตะผะตะฝัั
int min = arr[i];
int max = arr[i];
int minIndex = i;
int maxIndex = i;
for (int n = i; n <= j; n++) { // ะฒัะฑะธัะฐะตะผ min ะธ max ะฝะฐ ัะตะบััะตะผ ะพััะตะทะบะต
if (arr[n] > max) {
max = arr[n];
maxIndex = n;
} else if (arr[n] < min) {
min = arr[n];
minIndex = n;
}
}
// ะผะตะฝัะตะผ ะฝะฐะนะดะตะฝะฝัะน ะผะธะฝะธะผะฐะปัะฝัะน ัะปะตะผะตะฝั ั ะฟะพะทะธัะธะธ ั ะธะฝะดะตะบัะพะผ min ะฝะฐ ะฟะพะทะธัะธั ั ะธะฝะดะตะบัะพะผ i
swap(arr, i, minIndex);
if (arr[minIndex] == max) {// ััะฐะฑะฐััะฒะฐะตั, ะตัะปะธ ัะปะตะผะตะฝั max ะพะบะฐะทะฐะปัั ัะผะตัะตะฝ ะฟัะตะดัะดััะตะน ะฟะตัะตััะฐะฝะพะฒะบะพะน -
swap(arr, j, minIndex); // ะฝะฐ ััะฐัะพะต ะผะตััะพ min, ะฟะพััะพะผั ั ะฟะพะทะธัะธะธ ั ะธะฝะดะตะบัะพะผ min ัะผะตัะฐะตะผ ะตะณะพ ะฝะฐ ะฟะพะทะธัะธั j
} else {
swap(arr, j, maxIndex); // ะฟัะพััะพะต ะพะฑะผะตะฝ ะผะตััะฐะผะธ ัะปะตะผะตะฝัะพะฒ ั ะธะฝะดะตะบัะฐะผะธ max ะธ j
}
}
}
static int[] swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
return arr;
}
ืืืื, ืืขืช ืขืืื ื ืืืืื ืื ืืืืื ืืืืช ืืฉืชืคืจ. ืืืื ื ืฉืืื ืืืฆืืขืื:
long firstDifference = 0;
long secondDifference = 0;
long primaryTime;
int countOfApplying = 10000;
for (int i = 0; i < countOfApplying; i++) {
int[] arr1 = {234, 33, 123, 4, 5342, 76, 3, 65,
3, 5, 35, 75, 255, 4, 46, 48, 4658, 44, 22,
678, 324, 66, 151, 268, 433, 76, 372, 45, 13,
9484, 499959, 567, 774, 473, 3, 32, 865, 67, 43,
63, 332, 24, 1};
primaryTime = System.nanoTime();
selectionSorting(arr1);
firstDifference += System.nanoTime() - primaryTime;
int[] arr2 = {234, 33, 123, 4, 5342, 76, 3, 65,
3, 5, 35, 75, 255, 4, 46, 48, 4658, 44, 22,
678, 324, 66, 151, 268, 433, 76, 372, 45, 13,
9484, 499959, 567, 774, 473, 3, 32, 865, 67, 43,
63, 332, 24, 1};
primaryTime = System.nanoTime();
improvedSelectionSorting(arr2);
secondDifference += System.nanoTime() - primaryTime;
}
System.out.println(((double) firstDifference / (double) secondDifference - 1) * 100 + "%");
ืฉื ื ืืืื ืื ืืชืืืื ืืืืชื ืืืืืจ, ืื ืื ืืื ืืืืืืช ื ืคืจืืืช, ืืืื ืืงืื ืืืขืื ืืจืื ืชืืฆืื ืืจืืขื ืืืชืจ ืืืฉืจ ืื ืืื ืืื ืืืืงื ืืืงืื ืืฉื ื. ืื ื ืืืข ืืืขืืืื ืฉืืชืืื ืืช "ืืชืืืืช" ืืื ืขืืืืช ืงืฆืช ืืืชืจ ืืืจ. ืืื ืื ื ืืืฆื ืงืฆืช ืืื ืืฉื. ืืืืจ ืืืฉ ืจืืฆืืช ืฉื ืืืืงื ืื ืืงืื ืกืืื, ืจืืืชื ืขืืืื ืืืืฆืืขืื ื -36.41006735635892% 51.46131097160771% 41.88918834013988% 48.09198070574371460% ืขืืืจื, 49% ืื ืขืืืจื ืชืืฆืื ืืืื ืืืื.
120. ืืชืื ืืืืืจืืชื (ืจืฆืฃ ืคืขืืืืช) ืืืืืืจ ืืืืจืื ืืกืื int ืขื ืืืืจืื ืืกืื ืืช. ืืกืืจ ืื ืงืืจื ืืืืืจืื
-
ืขืจื ืืชืื ืืืืจ ื-int. ืื ืืืงืฆื ืขืืืจื ืืืื 1 ืฉื ืืืืจืื, ืืื ืืื ืื ืขืจืื int - 4, ืื ืืขืจื ืืื ืขืืืื ืื ื ืืฆื ืืขืจืืืช int. ืื ืืฉ, ืงืืฉืืจ ืืืื ืคืฉืื ืืชืงืื.
-
ืฉื ื ืขืจืื int ืืชืืืกืคื ืืืฉืืืฉื ืืชืงืื. ืืืงืฆื ืขืืืจื ืงืืข ืืืืจืื ืืืฉ - 4 ืืชืื (ืื ืชืชืงืื ืืคื ืื ืืืกื ืืช int ืืขืจื ืืงืืื).
ืืืงืจื ืื, ืืืืืจืื ืฉื ืฉื ื ืืื ืืก ืขืืืื ืืืื ืชืคืืก, ืืืขืจืืื ืฉืืื ืืืืืกื ื ืืขืจืืืช ื-ints, ืืืชืืื.
GO TO FULL VERSION