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

Classify computer systems according to capacity, Classify computer systems ...

Classify computer systems according to capacity. How they are different from computers according to the classification of technology. Provide comparative study also

Garbage collector to free the memory, In .NET Compact Framework, can I free...

In .NET Compact Framework, can I free memory explicitly without waiting for garbage collector to free the memory?  Yes you can clear the memory using gc.collect method but it i

Software engineering - layered technology, S oftware Engineering - Layered...

S oftware Engineering - Layered Technology Although various authors have developed personal definitions of software engineering, a definition given by Fritz Bauer at the semin

Define the do while loop, The do while Loop This is very similar to the...

The do while Loop This is very similar to the while loop except that the test occurs at the end of the loop body. This guarantees that the loop is executed at least once before

Define the role of organizationin computer architecture, Define the role of...

Define the role of organizationin computer architecture The organization is the set of resources that realizes the architecture which include the CPU, the memory and I/O contro

What is race condition, What is Race condition? Race condition: The c...

What is Race condition? Race condition: The circumstances where several processes access - and manipulate shared data-concurrently. The last value of the shared data depends

Explain about control memory organization, Q. Explain about Control Memory ...

Q. Explain about Control Memory Organization? One of the simplest ways to organize control memory is to organize micro-instructions for different sub cycles of machine instruct

What are the steps in multiplication algorithm, What are the steps in multi...

What are the steps in multiplication algorithm?   Check for zeros.   Multiply mantissas   Add the exponents.   Normalize the product.

Create simple algebraic expression from k-map, Q. Create simple algebraic e...

Q. Create simple algebraic expression from K-Map? Now create simple algebraic expression from K-Map. These expressions are created by employing adjacency if we have 2 adjacent

State some of the uses append query, Some of the uses of append query are a...

Some of the uses of append query are as follows ? You will save time by appending data to an existing table rather than manual update. ? Appending files based on particular

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