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

Order in which filters get implemented, If we have multiple filters implet...

If we have multiple filters impleted, what is the order in which these filters get implemented?   Ans) 1. Authorization filters 2. Response filters 3. Action filters

Explain naming convention libraries, Explanation:- Common used functions...

Explanation:- Common used functions are placed in libraries. These are located in the SQABas32 subdirectory of the Robot working directory. A library is separated into three fil

Coso framework, The COSO Framework consists of six broad classes of control...

The COSO Framework consists of six broad classes of control activities. Initial responses should identify and define one of the broad classes (Ex: segregation of duties or indepe

Explain about the logical devices, Explain about the Logical Devices ...

Explain about the Logical Devices Locator, to indicate a position and/or orientation Pick, to select a displayed entity To input a single value in the space of re

What is effective address, Q. What is Effective Address ? The symbol EA...

Q. What is Effective Address ? The symbol EA (Effective Address) refers to a physical address in a non-virtual memory environment and refers to a register in a virtual memory a

Find out the decimal equivalent of binary number, The decimal equivalent of...

The decimal equivalent of Binary number 10101 is ? Ans. 1x2 4 + 0x2 3 +1x2 2 +0x2 1 + 1x2 0 = 16 + 0 + 4 + 0 + 1 = 21.

Explain about magnetic disk, Q. Explain about Magnetic Disk? A disk is ...

Q. Explain about Magnetic Disk? A disk is circular platter constructed of nonmagnetic material known as substrate, coated with a magnetisable material. This is used for storing

Describe menu in dreamweaver, File Menu: Under it there are New, Save, Sav...

File Menu: Under it there are New, Save, Save as, Save as template, Import, Export, Preview in browser etc. options. Edit Menu: In this menu there are Cut, Copy, Paste, Undo,

Gui status in a program from the object browser, Can we create a gui status...

Can we create a gui status in a program from the object browser? Yes.  You can make a GUI STATUS in a program using SET PF-STATUS.

Features of mpi-1, Features of MPI-1 Binding for FORTRAN and C ...

Features of MPI-1 Binding for FORTRAN and C Collective communication Communication domains and Process groups Point-to-point communication Virtual process

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