Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 5cadb3c

Browse files
committed
added: miscellaneous testing
1 parent c2bdd93 commit 5cadb3c

25 files changed

+762
-2
lines changed

nnw_python/MergeSortTest.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
def merge(left, right):
2+
result = []
3+
i = j = 0
4+
5+
while i < len(left) and j < len(right):
6+
if left[i] < right[j]:
7+
result.append(left[i])
8+
i += 1
9+
else:
10+
result.append(right[j])
11+
j += 1
12+
13+
result.extend(left[i:])
14+
result.extend(right[j:])
15+
16+
return result
17+
18+
def mergeSort(arr):
19+
step = 1 # Starting with sub-arrays of length 1
20+
length = len(arr)
21+
22+
while step < length:
23+
for i in range(0, length, 2 * step):
24+
left = arr[i:i + step]
25+
right = arr[i + step:i + 2 * step]
26+
27+
merged = merge(left, right)
28+
29+
# Place the merged array back into the original array
30+
for j, val in enumerate(merged):
31+
arr[i + j] = val
32+
33+
step *= 2 # Double the sub-array length for the next iteration
34+
35+
return arr
36+
37+
# unsortedArr = [3, 7, 6, -10, 15, 23.5, 55, -13]
38+
unsortedArr = [3, 7, 6, 5]
39+
sortedArr = mergeSort(unsortedArr)
40+
print("Sorted array:", sortedArr)

nnw_python/QueueWithLinkedList.py

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
class Node:
2+
def __init__(self, data):
3+
self.data = data
4+
self.next = None
5+
6+
class Queue:
7+
def __init__(self):
8+
self.front = None
9+
self.rear = None
10+
self.length = 0
11+
12+
def enqueue(self, element):
13+
new_node = Node(element)
14+
if self.rear is None:
15+
self.front = self.rear = new_node
16+
self.length += 1
17+
return
18+
self.rear.next = new_node
19+
self.rear = new_node
20+
self.length += 1
21+
22+
def dequeue(self):
23+
if self.isEmpty():
24+
return "Queue is empty"
25+
temp = self.front
26+
self.front = temp.next
27+
self.length -= 1
28+
if self.front is None:
29+
self.rear = None
30+
return temp.data
31+
32+
def peek(self):
33+
if self.isEmpty():
34+
return "Queue is empty"
35+
return self.front.data
36+
37+
def isEmpty(self):
38+
return self.length == 0
39+
40+
def size(self):
41+
return self.length
42+
43+
def printQueue(self):
44+
temp = self.front
45+
while temp:
46+
print(temp.data, end=" ")
47+
temp = temp.next
48+
print()
49+
50+
# Create a queue
51+
myQueue = Queue()
52+
53+
myQueue.enqueue('A')
54+
myQueue.enqueue('B')
55+
myQueue.enqueue('C')
56+
print("Queue: ", end="")
57+
myQueue.printQueue()
58+
59+
print("Dequeue: ", myQueue.dequeue())
60+
61+
print("Peek: ", myQueue.peek())
62+
63+
print("isEmpty: ", myQueue.isEmpty())
64+
65+
print("Size: ", myQueue.size())

nnw_python/QueueWithList.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
class Queue:
2+
def __init__(self):
3+
self.queue = []
4+
5+
def enqueue(self, element):
6+
self.queue.append(element)
7+
8+
def dequeue(self):
9+
if self.isEmpty():
10+
return "Queue is empty"
11+
return self.queue.pop(0)
12+
13+
def peek(self):
14+
if self.isEmpty():
15+
return "Queue is empty"
16+
return self.queue[0]
17+
18+
def isEmpty(self):
19+
return len(self.queue) == 0
20+
21+
def size(self):
22+
return len(self.queue)
23+
24+
# Create a queue
25+
myQueue = Queue()
26+
27+
myQueue.enqueue('A')
28+
myQueue.enqueue('B')
29+
myQueue.enqueue('C')
30+
print("Queue: ", myQueue.queue)
31+
32+
print("Dequeue: ", myQueue.dequeue())
33+
34+
print("Peek: ", myQueue.peek())
35+
36+
print("isEmpty: ", myQueue.isEmpty())
37+
38+
print("Size: ", myQueue.size())

nnw_python/StackTest.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
class Stack:
2+
def __init__(self):
3+
self.stack = []
4+
5+
def push(self,item):
6+
self.stack.append(item)
7+
8+
def pop(self):
9+
self.stack.pop()
10+
11+
def peek(self):
12+
return self.stack[-1]
13+
14+
def isEmpyt(self):
15+
return len(self.stack)==0
16+
17+
def size(self):
18+
return len(self.stack)
19+
20+
21+
if __name__=="__main__":
22+
stack = Stack()
23+
stack.push("A")
24+
stack.push("B")
25+
stack.push("C")
26+
stack.push("D")
27+
print(f" Stack's items : {stack.stack}")
28+
print(f" Stack Size : {stack.size()}")
29+
print(f" Stack's last item : {stack.peek()}")
30+
stack.pop()
31+
print(f" Stack's items after removing last item: {stack.stack}")
32+
print(f" Is Stack empty? : {stack.isEmpyt()}")
33+
34+
35+
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
2+
import java.util.ArrayList;
3+
import java.util.Collections;
4+
5+
public class AdvancedSortingTest {
6+
static class Car{
7+
int year;
8+
String name;
9+
public Car(int year,String name){
10+
this.year=year;
11+
this.name=name;
12+
}
13+
}
14+
public static void main(String[] args) {
15+
Car c1= new Car(2010,"Mazda");
16+
Car c2 = new Car(2012,"Mazda");
17+
Car c3 = new Car(2012,"BMW");
18+
Car c4 = new Car(2012,"BMW");
19+
ArrayList<Car> myCars = new ArrayList<>();
20+
myCars.add(c1);
21+
myCars.add(c2);
22+
myCars.add(c3);
23+
myCars.add(c4);
24+
// Collections.sort(myCars, (obj1, obj2) -> {
25+
// Car a = (Car) obj1;
26+
// Car b = (Car) obj2;
27+
// if (a.year < b.year) return -1;
28+
// if (a.year > b.year) return 1;
29+
// return 0;
30+
// });
31+
32+
Collections.sort(myCars,(obj1,obj2)->{
33+
Car c_obj1= (Car)obj1;
34+
Car c_obj2= (Car)obj2;
35+
if(c_obj1.year<c_obj2.year)
36+
return -1;
37+
else if(c_obj1.year>c_obj2.year)
38+
return 1;
39+
// return 0;
40+
else
41+
return c_obj1.name.compareTo(c_obj2.name);
42+
});
43+
myCars.forEach(car->{System.out.printf("Car Brand : %s \t Model Year : %d \n",car.name,car.year);});
44+
}
45+
}
46+
47+
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import java.util.Arrays;
2+
3+
public class ArraySortingTest {
4+
public static void main(String[] args) {
5+
String[] cars = {"Volvo", "BMW", "Tesla", "Ford", "Fiat", "Mazda", "Audi"};
6+
System.out.println("Ascending order : ");
7+
Arrays.sort(cars);
8+
for (String i : cars) {
9+
System.out.println(i);
10+
}
11+
System.out.printf("Lowest value : %s \n",cars[0]);
12+
System.out.printf("Highest value : %s \n",cars[cars.length-1]);
13+
System.out.println("------------------------");
14+
System.out.println("Descending order : ");
15+
Arrays.sort(cars,(obj1,obj2)->{
16+
int comp = obj1.compareTo(obj2);
17+
return comp*-1;
18+
});
19+
for (String i : cars) {
20+
System.out.println(i);
21+
}
22+
}
23+
}
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
2+
import java.io.File; // Import the File class
3+
import java.io.FileNotFoundException;
4+
import java.io.FileWriter;
5+
import java.io.IOException;
6+
import java.util.Scanner;
7+
8+
public class CreateFileTest {
9+
10+
public static void main(String[] args) {
11+
// try {
12+
// File myFile = new File("filename.txt");
13+
// // windows
14+
// // File myFile = new File("C:\\Users\\MyName\\filename.txt");
15+
// // mac
16+
// // File myFile = new File("..//filename.txt"); // mac: step back to the higher level
17+
// // File myFile = new File("/Users/nweniwin/Documents/Java Study/Algorithms-and-Data-Structures-in-Java/filename.txt");
18+
// if (myFile.createNewFile()){
19+
// System.out.printf("New file : %s is created.",myFile.getName());
20+
// // System.out.printf("The file is created at %s",myFile.getAbsolutePath());
21+
// }else{
22+
// System.out.println("File already exists");
23+
// // System.out.printf("The file is at %s",myFile.getAbsolutePath());
24+
// }
25+
// } catch (IOException e) {
26+
// System.out.println("An error occured");
27+
// e.printStackTrace();
28+
// }
29+
30+
try {
31+
FileWriter myWriter = new FileWriter("filename.txt");
32+
String st = "Files in Java might be tricky, but it is fun enough!!!!!";
33+
// for(String w:st.split(" ")){
34+
for (char w : st.toCharArray()) {
35+
myWriter.write(w + "\n");
36+
}
37+
myWriter.close();
38+
System.out.println("Successfully wrote to the file.");
39+
} catch (IOException e) {
40+
System.out.println("An error occurred.");
41+
e.printStackTrace();
42+
}
43+
File myFile = new File("filename.txt");
44+
if (myFile.exists()) {
45+
System.out.printf("File Name : %s \n", myFile.getName());
46+
System.out.printf("File Absolute Path : %s \n", myFile.getAbsolutePath());
47+
System.out.printf("File Path: %s \n", myFile.getPath());
48+
System.out.printf("File size in bytes : %s \n", myFile.length());
49+
System.out.printf("Can Write : %s \n", myFile.canRead());
50+
System.out.printf("Can Read : %s \n", myFile.canWrite());
51+
}
52+
if (myFile.delete()) {
53+
System.out.printf("File Name : %s has been deleted", myFile.getName());
54+
}
55+
// To create a directory
56+
try {
57+
File myfolder = new File("files");
58+
if (myfolder.createNewFile()) {
59+
System.out.printf("The folder name : %s has been created.", myfolder.getAbsolutePath());
60+
}
61+
if (myfolder.delete()) {
62+
System.out.printf("The folder name : %s has been deleted.", myfolder.getAbsolutePath());
63+
}
64+
} catch (IOException e) {
65+
System.out.println("An error occured in creating a folder");
66+
}
67+
68+
System.out.println("----------------------");
69+
try {
70+
FileWriter myWriter = new FileWriter("filename.txt");
71+
Scanner myScanner = new Scanner(System.in);
72+
for (int i=1;i<=5;i++){
73+
String ln = myScanner.nextLine();
74+
myWriter.write(ln + "\n");
75+
if (i==5){
76+
System.out.println("Do you have anything to say? (Type yes or no)");
77+
String ans = myScanner.nextLine();
78+
if (ans.toLowerCase().equals("yes")){
79+
i=0;
80+
}
81+
}
82+
}
83+
myScanner.close();
84+
myWriter.close();
85+
} catch (IOException e) {
86+
System.out.println("An error occured");
87+
}
88+
89+
try {
90+
System.out.println("-----------------");
91+
Scanner myScanner1 = new Scanner(new File("filename.txt"));
92+
System.out.println("Here is the file content you have saved");
93+
while(myScanner1.hasNext()){
94+
System.out.println(myScanner1.nextLine());
95+
}
96+
} catch (FileNotFoundException e) {
97+
System.out.println(e.getMessage());
98+
}
99+
}
100+
}

src/main/java/com/nnw/DateTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import java.time.LocalDate; // import the LocalDate class
2+
import java.time.LocalDateTime;
3+
import java.time.LocalTime;
4+
import java.time.format.DateTimeFormatter;
5+
6+
public class DateTest {
7+
public static void main(String[] args) {
8+
LocalDate obj1 = LocalDate.now(); // Create a date object
9+
System.out.printf("Local Date : %s \n",obj1); // Display the current date
10+
LocalTime obj2 = LocalTime.now();
11+
System.out.printf("Local Time : %s \n",obj2);
12+
LocalDateTime obj3 = LocalDateTime.now();
13+
System.out.printf("Local Date Time : %s \n",obj3);
14+
DateTimeFormatter df = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
15+
String formatted_obj3 = obj3.format(df);
16+
System.out.printf("Local Date Time After format : %s \n",formatted_obj3);
17+
}
18+
}

0 commit comments

Comments
 (0)