The bubble sort is also define as the ripple sort. One implementation of this sorting methods is to recurrently move the largest element to the largest index position of the array. Consider we have an array with the subsequent values: 8, 3,5, 7, and 2. We start from the left, comparing two numbers at a time and swapping if the left number is bigger than the one on the right, till we reach the end of the array. One pass will put the largest number in the rightmost spot. We start again from the left repeating the above procedure. You will note that we can now stop one before the rightmost digit (Why?).
Starting:
8 3 5 7 2
Use all 5 elements:
8> 3, so swap: 3 8 5 7 2
8> 5, so swap: 3 5 87 2
8>7, so swap: 3 5 78 2
8> 2, so swap: 3 5 7 2 8
3 5 7 2 [8]
Now use first 4 elements:
3 not > 5, no swap
5 not >7, no swap
7> 2, so swap: 3 5 2 7 [8]
3 5 2 [78]
3 elements:
3 not > 5, no swap
5 > 2, so swap: 3 2 5 [78]
3 2 [5 78]
2 elements:
3 > 2, so swap: 2 3 [5 78]
2 [3 5 78]
1 element:
nothing to do
[2 3 5 78]
This is how we use Bubble sort/ ripple sort. The keyword 'bubble' in bubble sort usually refers to elements beingaerated to the top of the array, in this case the large elements are rippled to the right!
Specific Instructions
Write a code that uses the above outlined bubblesort/ripplesort to sortdata of size n. Your program can be reading the values of n from a file. The first number in the data set will show the size of the data set.You will be using a two dimensional dynamic array to store the stepwise results of the sort. The starting dimensions of the array will be n by n. When needed, the array could be resized to grow and a message ‘Array Resized' should be sent to the screen. Your program could consist of at least two modules. One module will implement a class to show Sorter. Subsequent good object oriented programming practices, keep the data members private. If needed, accessor functions could be declared to set and get the private data. A Sorter object could be able to populate and process itself! Write a test program that explain the use of your Sorter class and shows the output for the given input file.
File input/output and operator overloading have to be attempted.So input should be read from a file using overloaded input operator and output should go both to the screen and file.