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

why doesn''t c have nested functions, It's not trivial to execute nested f...

It's not trivial to execute nested functions such that they have the proper access to local variables in the having function(s), so they were deliberately left out of C as a simpli

Reduced instruction set computer - risc, Reduced Instruction Set Computer (...

Reduced Instruction Set Computer (RISC): As we discussed before most of the modern CPUs are of the GPR (General Purpose Register) type. A few instances of such type of CPUs ar

Find point-to-point link required in fully connected network, The number of...

The number of point to point links required in a fully connected network for 50 entities is? The number of point to point links needed in a completely connected network for 50

How is secure sockets layer relied on the certificates, How is Secure Socke...

How is Secure Sockets Layer relied on the certificates? The Secure Sockets Layer standard is not a single protocol, but quite a set of accepted data transfer routines which a

How does output caching work in asp.net, How does output caching work in AS...

How does output caching work in ASP.NET?    Output caching is a powerful method that enhances request/response throughput by caching the content generated from dynamic pages. O

Risc approach - computer architecture, RISC Approach - computer architectur...

RISC Approach - computer architecture: The RISC processors only use easy instructions that can be executed within one clock cycle. therefore, the "MULT" command discussed abov

Change to palindrome, given a string S convert it to palindrome by doing ch...

given a string S convert it to palindrome by doing character replacement.convert S to palindrome with minimum character replacements

Minimum total number of shelv, Write a program that finds the minimum total...

Write a program that finds the minimum total number of shelv, C/C++ Programming

Difference between leave transaction and call transaction, What is the diff...

What is the difference between Leave Transaction and Call Transaction? In contrast to LEAVE TO TRANSACTION, the CALL TRANSACTION  statement causes the system to start a new SAP

How do you debug a loadrunner script, VuGen have two options to help debug ...

VuGen have two options to help debug Vuser scripts-the Run Step by Step command and breakpoints. The Debug settings in the Options dialog box permit us to verify the extent of the

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