Question: Another simple sort is the odd-event sort. The idea is to repeatedly make two passes through the array. On the frist pass you look at
Another simple sort is the odd-event sort. The idea is to repeatedly make two passes through the array. On the frist pass you look at all the pairs of items a[j] and a[j+1], where j is odd (1,3,5...). If their key values are out of order, you swap them. On the second pass you do the same for all the even values(j =2,4,6...). You do these two passes repeatedly until the array is sorted. Replace the bubbleSort() method in bubbleSort.java(listing3.1) with an oddEvenSort() method. Make sure it works for varying amounts of date. You'll need to figure out how many times to do the two passes,
The odd-even sort is actually useful in a multiprocessing environment, where a separate processor can operate on each odd pair simultaneously and then on each even pair. Because the odd pairs are independent of each other, each pair can be checked - and swapped, if necessary-by a different processor. This makes for a very fast sort.
Listing 3.1
class ArrayBub{ private long [] a; private int nElems;
public ArrayBub(int max) { a = new long[max]; nElems = 0;}
public void insert(long value){a[nElems]=value; nElems++;}
public void display() { for(int j=0; j public void bubbleSort(){int out,in; for(out = nElems-1; out>1; out--;) for(int=0; int private void swap(int one, int two){long tem = a[one]; a[one]=a[two];a[two]=temp;}
Step by Step Solution
There are 3 Steps involved in it
Lets replace the bubbleSort method with an oddEvenSort method following the concept of the oddeven sort you described Well modify the ArrayBub class t... View full answer
Get step-by-step solutions from verified subject matter experts
