Skip to content

Commit 16fdde0

Browse files
committed
u
1 parent 4cac04e commit 16fdde0

15 files changed

Lines changed: 1487 additions & 24 deletions

src/main/code/array/Lunch.kt

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
package main.code.array
2-
3-
import kotlin.random.Random
4-
import kotlin.random.Random.Default.nextInt
5-
6-
/**
7-
* @Author: zs
8-
* @Date: 2020/5/15 10:45
9-
*
10-
*/
11-
var stores =
12-
"""两碗香面
13-
黄焖鸡米饭
14-
沙县小吃
15-
食堂
16-
稻草人快餐
17-
千里香混沌
18-
烧汁虾
19-
小炖鸡"""
20-
21-
val store: List<String> = stores.split("\n")
22-
fun main() {
23-
println("今天去: " + store[(store.indices).random()])
24-
}
1+
//package main.code.array
2+
//
3+
//import kotlin.random.Random
4+
//import kotlin.random.Random.Default.nextInt
5+
//
6+
///**
7+
// * @Author: zs
8+
// * @Date: 2020/5/15 10:45
9+
// *
10+
// */
11+
//var stores =
12+
// """两碗香面
13+
//黄焖鸡米饭
14+
//沙县小吃
15+
//食堂
16+
//稻草人快餐
17+
//千里香混沌
18+
//烧汁虾
19+
//小炖鸡"""
20+
//
21+
//val store: List<String> = stores.split("\n")
22+
//fun main() {
23+
// println("今天去: " + store[(store.indices).random()])
24+
//}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package main.code.array.sort;
2+
3+
public class BubbleSort {
4+
public static void main(String[] args) {
5+
int[] arr = {2, 4, 5, -9, 0, 5, 3, 12, 5};
6+
for (int i = arr.length - 1; i > 0; i--) {
7+
for (int j = 0; j < i; j++) {
8+
if (arr[j] > arr[j + 1]) {
9+
swap(j, j + 1, arr);
10+
}
11+
}
12+
}
13+
for (int i = 0; i < arr.length; i++) {
14+
System.out.println(arr[i]);
15+
}
16+
getRandom(99,1);
17+
}
18+
19+
20+
21+
private static void swap(int i, int j, int[] arr) {
22+
int temp = arr[i];
23+
arr[i] = arr[j];
24+
arr[j] = temp;
25+
}
26+
27+
private static void getRandom(int min, int max){
28+
int range = max - min + 1;
29+
for (int i = 0; i <10 ; i++) {
30+
int random =(int) (Math.random() * range) + min;
31+
System.out.print(random + " ");
32+
}
33+
34+
}
35+
}
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
package main.code.array.sort;
2+
3+
import java.util.Arrays;
4+
5+
public class Code_00_BubbleSort {
6+
7+
public static void bubbleSort(int[] arr) {
8+
if (arr == null || arr.length < 2) {
9+
return;
10+
}
11+
for (int e = arr.length - 1; e > 0; e--) {
12+
for (int i = 0; i < e; i++) {
13+
if (arr[i] > arr[i + 1]) {
14+
swap(arr, i, i + 1);
15+
}
16+
}
17+
}
18+
}
19+
20+
public static void swap(int[] arr, int i, int j) {
21+
arr[i] = arr[i] ^ arr[j];
22+
arr[j] = arr[i] ^ arr[j];
23+
arr[i] = arr[i] ^ arr[j];
24+
}
25+
26+
// for test
27+
public static void comparator(int[] arr) {
28+
Arrays.sort(arr);
29+
}
30+
31+
// for test
32+
public static int[] generateRandomArray(int maxSize, int maxValue) {
33+
int[] arr = new int[(int) ((maxSize + 1) * Math.random())];
34+
for (int i = 0; i < arr.length; i++) {
35+
arr[i] = (int) ((maxValue + 1) * Math.random()) - (int) (maxValue * Math.random());
36+
}
37+
return arr;
38+
}
39+
40+
// for test
41+
public static int[] copyArray(int[] arr) {
42+
if (arr == null) {
43+
return null;
44+
}
45+
int[] res = new int[arr.length];
46+
for (int i = 0; i < arr.length; i++) {
47+
res[i] = arr[i];
48+
}
49+
return res;
50+
}
51+
52+
// for test
53+
public static boolean isEqual(int[] arr1, int[] arr2) {
54+
if ((arr1 == null && arr2 != null) || (arr1 != null && arr2 == null)) {
55+
return false;
56+
}
57+
if (arr1 == null && arr2 == null) {
58+
return true;
59+
}
60+
if (arr1.length != arr2.length) {
61+
return false;
62+
}
63+
for (int i = 0; i < arr1.length; i++) {
64+
if (arr1[i] != arr2[i]) {
65+
return false;
66+
}
67+
}
68+
return true;
69+
}
70+
71+
// for test
72+
public static void printArray(int[] arr) {
73+
if (arr == null) {
74+
return;
75+
}
76+
for (int i = 0; i < arr.length; i++) {
77+
System.out.print(arr[i] + " ");
78+
}
79+
System.out.println();
80+
}
81+
82+
// for test
83+
public static void main(String[] args) {
84+
int testTime = 500000;
85+
int maxSize = 100;
86+
int maxValue = 100;
87+
boolean succeed = true;
88+
for (int i = 0; i < testTime; i++) {
89+
int[] arr1 = generateRandomArray(maxSize, maxValue);
90+
int[] arr2 = copyArray(arr1);
91+
bubbleSort(arr1);
92+
comparator(arr2);
93+
if (!isEqual(arr1, arr2)) {
94+
succeed = false;
95+
break;
96+
}
97+
}
98+
System.out.println(succeed ? "Nice!" : "Fucking fucked!");
99+
100+
int[] arr = generateRandomArray(maxSize, maxValue);
101+
printArray(arr);
102+
bubbleSort(arr);
103+
printArray(arr);
104+
}
105+
106+
}
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
package main.code.array.sort;
2+
3+
import java.util.Arrays;
4+
5+
public class Code_01_InsertionSort {
6+
7+
public static void insertionSort(int[] arr) {
8+
if (arr == null || arr.length < 2) {
9+
return;
10+
}
11+
for (int i = 1; i < arr.length; i++) {
12+
for (int j = i - 1; j >= 0 && arr[j] > arr[j + 1]; j--) {
13+
swap(arr, j, j + 1);
14+
}
15+
}
16+
}
17+
18+
public static void swap(int[] arr, int i, int j) {
19+
arr[i] = arr[i] ^ arr[j];
20+
arr[j] = arr[i] ^ arr[j];
21+
arr[i] = arr[i] ^ arr[j];
22+
}
23+
24+
// for test
25+
public static void comparator(int[] arr) {
26+
Arrays.sort(arr);
27+
}
28+
29+
// for test
30+
public static int[] generateRandomArray(int maxSize, int maxValue) {
31+
int[] arr = new int[(int) ((maxSize + 1) * Math.random())];
32+
for (int i = 0; i < arr.length; i++) {
33+
arr[i] = (int) ((maxValue + 1) * Math.random()) - (int) (maxValue * Math.random());
34+
}
35+
return arr;
36+
}
37+
38+
// for test
39+
public static int[] copyArray(int[] arr) {
40+
if (arr == null) {
41+
return null;
42+
}
43+
int[] res = new int[arr.length];
44+
for (int i = 0; i < arr.length; i++) {
45+
res[i] = arr[i];
46+
}
47+
return res;
48+
}
49+
50+
// for test
51+
public static boolean isEqual(int[] arr1, int[] arr2) {
52+
if ((arr1 == null && arr2 != null) || (arr1 != null && arr2 == null)) {
53+
return false;
54+
}
55+
if (arr1 == null && arr2 == null) {
56+
return true;
57+
}
58+
if (arr1.length != arr2.length) {
59+
return false;
60+
}
61+
for (int i = 0; i < arr1.length; i++) {
62+
if (arr1[i] != arr2[i]) {
63+
return false;
64+
}
65+
}
66+
return true;
67+
}
68+
69+
// for test
70+
public static void printArray(int[] arr) {
71+
if (arr == null) {
72+
return;
73+
}
74+
for (int i = 0; i < arr.length; i++) {
75+
System.out.print(arr[i] + " ");
76+
}
77+
System.out.println();
78+
}
79+
80+
// for test
81+
public static void main(String[] args) {
82+
int testTime = 500000;
83+
int maxSize = 100;
84+
int maxValue = 100;
85+
boolean succeed = true;
86+
for (int i = 0; i < testTime; i++) {
87+
int[] arr1 = generateRandomArray(maxSize, maxValue);
88+
int[] arr2 = copyArray(arr1);
89+
insertionSort(arr1);
90+
comparator(arr2);
91+
if (!isEqual(arr1, arr2)) {
92+
succeed = false;
93+
break;
94+
}
95+
}
96+
System.out.println(succeed ? "Nice!" : "Fucking fucked!");
97+
98+
int[] arr = generateRandomArray(maxSize, maxValue);
99+
printArray(arr);
100+
insertionSort(arr);
101+
printArray(arr);
102+
}
103+
104+
}

0 commit comments

Comments
 (0)