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

Call a screen as dialog box, The Syntex used to call a screen as dialog box...

The Syntex used to call a screen as dialog box (pop up)is CALL SCREEN STARTING AT ENDING AT

How do you traverse a btree in backward in-order, Put the node in the right...

Put the node in the right subtree Then, Put the root  Put the node in the left subtree

Define cache memory, Define cache memory? A special very high speed mem...

Define cache memory? A special very high speed memory known as a cache is sometimes used to increase the speed of processing by making current programs and data available to th

Explain concurrent sharing, Explain Concurrent Sharing Here a number of...

Explain Concurrent Sharing Here a number of programs that may share a file simultaneously. While this is the case, it is necessary to prevent mutual interference among them. Th

Character and string processing instructions, Character and String Processi...

Character and String Processing Instructions: String manipulation usually is done in memory. Possible instructions comprise COMPARE STRING, COMPARE CHARACTER, MOVE STRING and MOVE

Decision Tree - ID3 algorithm:, . weather (windy, rainy or sunny) 2. how...

. weather (windy, rainy or sunny) 2. how much money you have (rich or poor) 3. whether your parents are visiting (yes or no)

Determine the computer arithmetic operations, Computer Arithmetic Data ...

Computer Arithmetic Data is manipulated with the help of arithmetic instructions in digital computers. Data is manipulated to  produce the results  necessary  to  provide solut

Explain the features of major scheduling algorithms, Explain the Features o...

Explain the Features of Major scheduling algorithms. The Features of Major scheduling algorithms is given below: FCFS - i.e. First come first served scheduli

Determine if the product of two integers are even, If the product of two in...

If the product of two integers a and b is even after that prove that either a is even or b is even. Answer: It is illustrated that product of a and b is even so let a * b = 2n.

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