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

Constant current sources, Constant Current Sources An ideal constant c...

Constant Current Sources An ideal constant current source delivers a given current to a circuit regardless of the voltage required to do so. . Constant current supplies are r

Explain the term - rational rose and visio 2000 enterprise, Explain the ter...

Explain the term - Rational Rose and Visio 2000 Enterprise Rational Rose: IBM Rational RequisitePro is a powerful and easy-to-use tool for use case management and requirement

Implement a memory management system , There should be 1 server thread and ...

There should be 1 server thread and N client threads, where N is supplied by the user as a command line argument. The server opens a file called "all_requests.dat", the file has

Explain the term- wireless technologyand broadband, Explain the term- Wirel...

Explain the term- Wireless Technologyand Broadband Wireless Technology (WiFi) and Broadband Most areas in the world now provide broadband instead of dial up for connectin

Determine the sampling rate of nyquist criterion, As per Nyquist criterion ...

As per Nyquist criterion the sampling rate is (A) 2fs                                                  (B) (1/2)fs (C) (1/2fs)

Explain essential loop in process scheduling, Explain essential loop in Pro...

Explain essential loop in Process Scheduling . The complex part of scheduling is to balance policy enforcement along with resource optimization so as to pick the best job to run

DBMS, Difference between Paperbase and computer base system?

Difference between Paperbase and computer base system?

Convert the decimal to hexadecimal equivalent number, Convert the decimal n...

Convert the decimal number 45678 to its hexadecimal equivalent number. Ans: (45678) 10 =(B26E) 16 (45678) 10 =(B26E) 16

What decision has the highest expected value, The Prisoner's Dilemma is a w...

The Prisoner's Dilemma is a well-known problem in game theory. Two thieves are arrested and held in custody separately. The police offer each the same deal. Inform on your partn

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