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

Explain about the term middleware, Explain about the term Middleware. M...

Explain about the term Middleware. Middleware is the term frequently used to explain the application or business logic present within an application server. Unfortunately, simi

Observing the existing system first hand, Observing the existing system fir...

Observing the existing system first hand This involves watching personnel using the existing system to find out precisely how it works. There are a number of disadvantages as

Explain the programmable rom (prom) - computer memory, Explain the Programm...

Explain the Programmable ROM (PROM) - Computer Memory? This is a kind of ROM that can be programmed using special equipment it can be written to, but only once and this is usef

Explain bernstein conditions for detection of parallelism, Bernstein Condit...

Bernstein Conditions for Detection of Parallelism For execution of a number of instructions or a block of instructions in parallel, it must be made certain that instructions ar

What is delayed branching, What is delayed branching? A method called d...

What is delayed branching? A method called delayed branching can minimize the penalty incurred as a result of conditional branch instructions. The idea is easy. The instruction

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

Show SNMPs representation in ASN.1 syntax, An SNMP integer whose value is 2...

An SNMP integer whose value is 200 has to be transmitted. Show its representation in ASN.1 syntax. An ASN.1 transfer syntax describes how values of ASN.1 types are unambiguousl

Development of a successful system, The success of a system relies on the a...

The success of a system relies on the approach of building it. If development approach is right then system will work successfully. Figure below portrays a System Development Life

What is serial mouse, Q. What is Serial Mouse? Mice that use standard s...

Q. What is Serial Mouse? Mice that use standard serial port are known as 'serial'. Because Serial ports 1 and 4 (COM1, COM4 under DOS, /dev/ttyS0 and /dev/ttyS3 under Unix/GNU-

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