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

Explain the microprocessor development system, Microprocessor development s...

Microprocessor development system Computer systems have undergone many changes recently. Machines that once filled large areas have been reduced to small desktop computer syste

Explain macro definition and call, Explain Macro definition and call. ...

Explain Macro definition and call. Macro: The assembly language programming frequently finds this necessary to repeat certain piece of code several times during the course of

Utilization summary, Utilization Summary The Utilization Summary shows ...

Utilization Summary The Utilization Summary shows the status of each processor i.e. how much time (in the form of percentage) have been spent by every processor in busy mode, o

Mention the two subsystem relationship, Mention the two subsystem relations...

Mention the two subsystem relationship. The relationship among two subsystems can be: Client-server Peer-peer

Find fiber distributed data interconnect is an example of, FDDI (Fiber Dist...

FDDI (Fiber Distributed Data Interconnect) is an example of? Fiber Distributed Data Interconnect is an illustration of token ring.

Define range which a normalised mantissa can signify, Now let's define rang...

Now let's define range which a normalised mantissa can signify. Let's presume that our present representations has normalised mantissa so left most bit can't be zero so it has to b

Illustrate about the word processors with its design, Illustrate about the ...

Illustrate about the Word processors with its design Word processors now have many aspects over and above the original task of generating a typed document. This section would

What is XML DTD (Document Type Definition), What is XML DTD (Document Type ...

What is XML DTD (Document Type Definition)? DTD is a document which defines legal building blocks of a particular XML document. This defines the document structure along with

Computer to computer transmission of structured data, Computer to computer ...

Computer to computer transmission of structured data using standardised documentation is known as Electronic data interchange (EDI).

Explain organisations use in electronic data interchange, Explain about the...

Explain about the organisations use in EDI. Organisations, which are use Electronic Data Interchange. Extensive users of Electronic Data Interchange (EDI) include: BHS:

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