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

Help, Write a class encapsulating the concept of a circle? I have been work...

Write a class encapsulating the concept of a circle? I have been working on this program for awhile and this is all I have so far... What are my flaws in the program besides not ha

Passing parameters through stack, Q. Passing Parameters through Stack? ...

Q. Passing Parameters through Stack? The best scheme for parameter passing is through stack. It is also a standard scheme for passing parameters when assembly language is inter

Explain analysis and synthesis phase of a compiler, Explain analysis and sy...

Explain analysis and synthesis phase of a compiler. The synthesis and analysis phases of a compiler are: Analysis Phase: In this breaks the source program in constituent

Resource dependence , Resource Dependence The parallelism among the ...

Resource Dependence The parallelism among the instructions may also be affected because of  the shared resources. If two instructions are using the related shared resource t

Fact finding techniques on banking system, what are the questionnaries and ...

what are the questionnaries and observation of work site for banking system?

Using information in information system, Using Information in Information S...

Using Information in Information System Information Systems can be thought of as being useful at three levels:  The detail level where information is used to carry out disc

How to transmits data in the active message buffer, Q. How to Transmits dat...

Q. How to Transmits data in the active message buffer? int pvm_bcast( char *group, int msgtag ) Transmits data in the active message buffer to a group of processes. msgt

Calculate blocking probability in a two stage network, In a two stage netwo...

In a two stage network there are 512 inlets and outlets, r=s=24. If the probability that a given inlet is active is 0.8, calculate: Blocking probability Given: N =M =512,

What is cmp instruction, What is CMP instruction Comparison instruction...

What is CMP instruction Comparison instruction (CMP) is a subtraction that changes only the flag bits; destination operand never changes. A comparison is useful for checking th

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