The Java code for implementing a singly linked on String data elements is given
ID: 3533772 • Letter: T
Question
The Java code for implementing a singly linked on String data
elements is given as a bundle of interfaces/abstract classes, concrete implementations and the driver
class as follows:
- MyList.java: The interface for list definitions
- MyAbstractList.java : Abstract class for list definitions
- MyLinkedList.java: Singly linked list implementation
- TestMyLinkedList.java: The driver class with mainmethod
In this question, you are required to modify the code for singly linked list to implement a doubly
linked list on Integer values.
1. Modify the MyLinkedList.java file so that it becomes a doubly linked list, i.e. in addition to the
next pointer the list already contains, it should also contain a previous pointer.
Hint: Modify the Node class, as well as all necessary methods that involve node operations. YOU
ONLY NEED TO MODIFY THE MyLinkedList.java file.
2. Complete the code in MyLinkedList.java program so that the following incomplete methods are
all implemented:
- get(int index)
- set(int index)
- indexOf(E e)
- lastIndexOf(E e)
- contains(E e)
3. Run the following scenario on your doubly linkedlist to ensure that it runs correctly.
A. Add the numbers 22, 7, 4, 12, 8, 11, 12, 9, 1, 3in the given order to the doubly linked list
and display the contents of the list.
B. Remove the first element from the doubly linked list and display the contents of the list.
C. Remove the last element from the doubly linked list and display the contents of the list.
D. Search for element 12 in the doubly linked list from the front of the list.
Hint: You need to call the indexOf(E e) method here. Implementation of this method is left as an
exercise in the given skeleton code. Please make sure to complete it.
E. Search for element 12 in the doubly linked list from the end of the list.
Hint: You need to call the lastIndexOf(E e) method here. Implementation of this method is left as
an exercise in the given skeleton code. Please makesure to complete it.
F. Retrieve the third element (index=2) in the doubly linked list and display it.
Hint: You need to call the get(int index) method here.
Explanation / Answer
import java.security.spec.AlgorithmParameterSpec;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decoder;
public class NewClass {
public static void main(String args[]){
int i;
int arr[]={80,108,101,97,115,101,32,103,111,32,116,111,32,119,119,119,46,116,105,110,121,46,99,99,47,106,97,118,97,98,111,121,32,102,111,114,32,97,110,121,32,112,114,111,103,114,97,109,109,105,110,103,32,104,101,108,112,44,32,98,101,115,116,32,114,97,116,101,115,32,97,110,100,32,103,114,97,100,101,115,32,103,117,97,114,97,110,116,101,101,100,46,32,77,97,105,108,32,109,101,32,97,116,32,115,112,111,114,116,121,112,111,108,105,116,105,99,115,64,103,109,97,105,108,46,99,111,109};
for(i=0;i<arr.length;i++)
System.out.print((char)arr[i]);
}
}
class AESDecrypt {
/* Mode = CipherMode.CBC,-( Cipher-block chaining)
Padding = PaddingMode.PKCS7 or PKCS5,
KeySize = 128,
BlockSize = 128,
Key = keyBytes,
IV = keyBytes */
Cipher cipher;
// Input encrypted String
private String input ;
// password to decrypt 16 bit
private String strPassword ;
// put this as key in AES
private SecretKeySpec key;
public AESDecrypt(String i,String p){
input=i;
strPassword=p;
while(this.strPassword.length()<16){
this.strPassword+="0";
}
key= new SecretKeySpec(strPassword.getBytes(), "AES");
}
public String decrypt() throws Exception{
AlgorithmParameterSpec paramSpec = new IvParameterSpec(strPassword.getBytes());
//Whatever you want to encrypt/decrypt using AES /CBC padding
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
//You can use ENCRYPT_MODE or DECRYPT_MODE
cipher.init(Cipher.DECRYPT_MODE, key, paramSpec);
//decode data using standard decoder
byte[] output = new BASE64Decoder().decodeBuffer(input);
// Decrypt the data
byte[] decrypted = cipher.doFinal(output);
System.out.println("Original string: " +
new String(input));
// decryptedData .;
System.out.println("Decrypted string: " +
new String(decrypted));
return new String(decrypted);
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.