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

Manipulating numbers, Computers manipulate numbers - but decimalnumbers wit...

Computers manipulate numbers - but decimalnumbers with digits 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 cannot be represented using two states of a digitalcircuit.Instead decimal numbers are co

Explain in detail about the random scan display, Explain in detail about th...

Explain in detail about the Random Scan Display   This device using CRT directs the electron beam only to the parts of the screen where a picture is to be drawn. This kind of d

What are the principal shortcomings of mpi, (a) What are the principal sho...

(a) What are the principal shortcomings of MPI with respect to the deployment between companies and institutions? (b) Propose a possible solution for the parallel computing in

What is data hazard, What is data hazard? Any condition that causes the...

What is data hazard? Any condition that causes the pipeline to stall is known as a hazard. A data hazard is any condition in which either the source or destination operands of

SWOT ANALYSIS, OPPORTUNITIES AND THREATS IN COMPUTER FEILD

OPPORTUNITIES AND THREATS IN COMPUTER FEILD

What is wireless transmission systems, What are wired and wireless transmis...

What are wired and wireless transmission systems? Transmission Systems: Modern type long distance transmission systems can be placed in three wide categories: 1. Radio Sy

What is the difference between proc. sent by val and by ref, What is the di...

What is the difference between proc. sent BY VAL and By Ref? BY VAL: Alters will not be reflected back to the variable. By REF: Alters will be reflected back to that variab

Prove, state and prove distributive law?

state and prove distributive law?

Explain about the term false path, Explain about the term false path? How i...

Explain about the term false path? How it find out in circuit? What the effect of false path in circuit? By timing all the paths into the circuit the timing analyzer can find o

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