public void bubbleSort()
{
for (int i = arrNumbers.length-1; i>1 ; i--)
{
for (int j = 0; j < i; j++)
{
if(arrNumbers[j] > arrNumbers[j+1])
{
swapValuesAtIndex(j, j+1);
}
/*IterationDisplay(arrNumbers, j);*/
}
}
}
Selection Sort
Selection sort works by dividing the list into 2 Parts. Sorted and Unsorted.Taking one element at a time as Minimum element it works by comparing the minimum element with other elements in the list.
public void selectionSort()
{
int minElement = 0;
for (int i = 0; i< arrNumbers.length ; i++)
{
minElement = i;
for (int j = i; j < arrNumbers.length; j++)
{
if(arrNumbers[minElement] > arrNumbers[j])
{
minElement = j;
}
}
swapValuesAtIndex(minElement, i);
}
}
Insertion Sort
Insertion sort is the best sorting method compared to others.The list is divided into sorted and unsorted portion. Once a no is selected for comparison it will not ened without placing the no at the correct location.
public void insertionSort()
{
for (int i = 1; i < arrNumbers.length; i++)
{
int j = i;
int toCompare = arrNumbers[i];
//holds no to Insert - arrNumbers[j-1]
while((j>0) && (arrNumbers[j-1] > toCompare))
{
arrNumbers[j] = arrNumbers[j-1];
j--;
}
arrNumbers[j] = toCompare;
}
}
Linear search is faster when searching for a element in a collection where the elements are duplicated and occurs multiple time. Binary Search is efficient when the collection elements are unique