├── Adding and Deleting Elements in the List ├── Array Sort descending └── README.md /Adding and Deleting Elements in the List: -------------------------------------------------------------------------------- 1 | package Demo; 2 | 3 | public class LinkedList { private Node head; private Node tail; private int size; public LinkedList() { tail = null; head = null; size = 0; } 4 | 5 | public void add(Integer data) { 6 | Node newNode = new Node(); 7 | newNode.setData(data); 8 | if (tail == null) { 9 | tail = newNode; 10 | head = newNode; 11 | size++; 12 | } 13 | else { 14 | tail.setNext(newNode); 15 | tail = newNode; 16 | size++; 17 | } 18 | } 19 | 20 | public Integer get(int index) { 21 | Node findNode = head; 22 | if (findNode == null || index > (size - 1) || index < 0) { 23 | return null; 24 | } 25 | while (findNode != null) { 26 | for (int i = 0; i < index; i++) { 27 | findNode = findNode.getNext(); 28 | } 29 | return findNode.getData(); 30 | } 31 | return findNode.getData(); 32 | } 33 | 34 | public boolean delete(int index) { 35 | Node curNode = head; 36 | Node prevNode = head; 37 | while (curNode != null) { 38 | if (curNode == null || index > (size - 1) || index < 0) { 39 | return false;} 40 | if (head == tail) { 41 | tail = null; 42 | head = null; 43 | size--; 44 | return true; 45 | } 46 | if (index == 0) { 47 | head = head.getNext(); 48 | size--; 49 | return true;} 50 | 51 | else { 52 | while (curNode != null) { 53 | curNode = curNode.getNext(); 54 | for (int i = 0; i < (index-1); i++) { 55 | prevNode = curNode; 56 | curNode = curNode.getNext(); 57 | } 58 | prevNode.setNext(curNode.getNext()); 59 | size--; 60 | return true; 61 | } 62 | } 63 | } 64 | return true; 65 | } 66 | 67 | public int size() { 68 | return size; 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /Array Sort descending: -------------------------------------------------------------------------------- 1 | package TestDemo; 2 | 3 | import java.util.Arrays; 4 | import java.util.Collections; 5 | 6 | public class Sort { 7 | private static void sort(int[] array, Comparator comp) { 8 | for (int gap = array.length / 2; gap > 0; gap /= 2) { 9 | for (int i = gap; i < array.length; i++) { 10 | int val = array[i]; 11 | int j; 12 | for (j = i; j >= gap && comp.compare(array[j - gap], val) > 0; j -= gap) { 13 | array[j] = array[j - gap]; 14 | } 15 | array[j] = val; 16 | } 17 | } 18 | } 19 | 20 | public static void main(String[] args){ 21 | Integer[] array = {1,5,2,4,10,6,0,3,10}; 22 | Comparator comp = new Comparator(); 23 | 24 | //Change your code here 25 | Arrays.sort(array, Collections.reverseOrder()); 26 | //sort(array, (Comparator) Collections.reverseOrder()); 27 | //sort(array, comp); 28 | //Change your code here 29 | 30 | for (int i = 0; i < array.length; i++) { 31 | System.out.print(array[i] + " "); 32 | } 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Interesting-code 2 | Code taken from practice 3 | --------------------------------------------------------------------------------