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

What is process control block, What is process control block?  Each pro...

What is process control block?  Each process is shown in the OS by a process control block. It having many pieces of information associated with a specific process.

Show the programmes for parallel systems, Q. Show the Programmes for Parall...

Q. Show the Programmes for Parallel Systems? Adding elements of an array using two processor      int sum, A[ n] ;  //shared variables

What is command prompt interface, Q. What is Command Prompt Interface? ...

Q. What is Command Prompt Interface? Operating System gives a text based interface called command prompt.  With the help of command prompt commands can be issued to perform fil

When do you do load and performance testing, We perform load testing once w...

We perform load testing once we are completed with interface (GUI) testing. Modern system architectures are large and difficult. Whereas one user testing primarily on functionality

Illustrate the list of key differences to word processors, Illustrate the l...

Illustrate the list of key differences to word processors The following is a list of key differences to word processors: -  Most word processors force users to work on a doc

Explain about open system, Q. Explain about Open System? The 'Open Syst...

Q. Explain about Open System? The 'Open System' is a system within its environment. It receives input from environment as well as provides output to environment.  Illustrati

Define parity generator, Define parity generator During transmission, a...

Define parity generator During transmission, at sending end the message is applied to a parity generator, where the needed bit is formed.

large block , Given a RAID 3 (bit-interleaved parity) with k disks, how we...

Given a RAID 3 (bit-interleaved parity) with k disks, how well will large block transmits work? How well will it handle a high I/O request rate? Compare the performance to a one di

Explain in detail about operating system, Explain in detail about Operating...

Explain in detail about Operating Systems (OS) Operating system (OS) is a program which after being initially loaded into computer by a boot program, manages all the other appl

C, Drawbacks of linear arrays

Drawbacks of linear arrays

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