How to sort a String ArrayList using insertion sort method i
How to sort a String ArrayList using insertion sort method into an initially empty list. Do not insert duplicate words. Java Im having trouble understanding how to make a method that takes an arraylist and sorts it this way
Solution
StringInsertionSort.java
import java.util.ArrayList;
public class StringInsertionSort {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add(\"Suresh\");
list.add(\"Asnhu\");
list.add(\"Sekhar\");
list.add(\"Revathi\");
list.add(\"Naresh\");
System.out.println(\"List elements before sort: \"+list);
insertionSort(list);
System.out.println(\"List elements after sort: \"+list);
}
public static void insertionSort(ArrayList<String> list){
int n = list.size();
for (int j = 1; j < n; j++) {
String key = list.get(j);
int i = j-1;
while ( (i > -1) && ( list.get(i).compareTo(key) > 0 ) ) {
list.set(i+1, list.get(i));
i--;
}
list.set(i+1, key);
}
}
}
Output:
List elements before sort: [Suresh, Asnhu, Sekhar, Revathi, Naresh]
List elements after sort: [Asnhu, Naresh, Revathi, Sekhar, Suresh]
