Sorting, Computer Engineering

Assignment Help:

Different sorting algorithm will be discussed in the lecutres. The task in this worksheet is to write a funtions based on the Quicksort algorithm.

When sorting an array of objects some objects might swap places. This can by very expensive in terms of time and space, as each swap requires to copy an object. We have seen in the previous part of the module that this could potential be computationally expensive (deep copy).
The function that you should implement takes an array of a template class as pass-by-reference. Instead of sorting this array it returns a new array of int. In this new array the first number is the index of the smallest object in the original array, the next number is the index of the 2nd smallest object in the original array and so on.
Example, for parameter ["michael", "sam", "chris", "tom", "anna", "nick"]
the function should return [4, 2, 0, 5, 1, 3]

The function declaration is

        template int * index(const T & array,int size)

Your function should be based on the quicksort algorithm. The given array of objects should not be altered. Hint: You might want to consider to write an additional function that can be recursively called.
 
A test program is provided . To compile the program you can use

#include

#include"assessment3.cpp"

#include

#include

#include

using namespace std;

int main() {

   int size = 10;

   int *data=new int[size];

   for(int i=0;i < size;i++)

      data[i]=rand()% 1000;

   cout << endl<<"unsorted"<

 

   for(int i=0;i

      cout<

   int * indexA = index(data,size);

   cout<

   for(int i=0;i

      cout<

   cout << endl;

   for(int i=0;i

      cout<

   cout << endl;

   delete [] data;

   delete [] indexA;

  return 0;

}


Related Discussions:- Sorting

What are the two levels in defining a match code, What are the two levels i...

What are the two levels in defining a Match Code? Match Code Object. Match Code Id.

Utilization count - processor, The Utilization Count shows the status of ea...

The Utilization Count shows the status of each processor in a specific mode i.e.  Overhead mode, busy mode, and idle mode with respect to the progress in time as shown in Figure.

Define the translator which perform macro expansion, Define the translator ...

Define the translator which perform macro expansion is known as a                      Macro pre-processor is the translator which perform macro expansion

replacing option of a copy statement, What is the point of the REPLACING o...

What is the point of the REPLACING option of a copy statement? Ans) REPLACING permits for the similar copy to be used more than once in the similar code by changing the replac

Explain the passive matrix in lcd technology, Q. Explain the Passive Matrix...

Q. Explain the Passive Matrix in lcd technology? In a passive matrix arrangement LCD panel has a grid of vertical and horizontal conductors and every pixel is positioned at an

What is a multiplexer tree, What is a Multiplexer Tree? Ans Multip...

What is a Multiplexer Tree? Ans Multiplexer Tree: The largest available MUX IC is 16 to 1. Meeting the larger input requires there must be a provision to expand this. It

Explain the optimization of data access paths, Explain the Optimization of ...

Explain the Optimization of data access paths Optimization is a very significant aspect of any design. The designer must do the followings for optimization: i) Add redundan

Explain the working of thousand line exchanges, E xplain the working of th...

E xplain the working of thousand line exchanges by u sing a combination of uniselectors and two motion selectors. The schematic diagram for such an exchange is demonstrated i

A luminous jewel game, a luminous jewel game c programming start with t and...

a luminous jewel game c programming start with t and end with t the output will yes or no

Provision for data buffering, Data buffering is quite helpful for purpose o...

Data buffering is quite helpful for purpose of smoothing out gaps in speed of processor and I/O devices. Data buffers are registers that hold I/O information temporarily. I/O is pe

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd