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

Spirit duplicating of information, Spirit Duplicating Equipment Requir...

Spirit Duplicating Equipment Required Spirit Duplicator (also known as hectograph) Thermal copier (optional) Materials Masters Hectographic carbon COPY pa

Prediction algorithms , The following branch prediction algorithms are sugg...

The following branch prediction algorithms are suggested: 1) Guess that the branch will be taken if the previous one was taken; predict not taken otherwise. 2) Guess that the

Define race condition, Define race condition.  When several process acc...

Define race condition.  When several process access and manipulate similar data concurrently, then the outcome of the implementation depends on particular order in which the ac

How a java program compiles, How a Java program compiles? First sou...

How a Java program compiles? First source file name should be extended with .java extension. For example Myprog.java Execute javac compiler. javac compiler creates

What is cmp instruction, What is CMP instruction Comparison instruction...

What is CMP instruction Comparison instruction (CMP) is a subtraction that changes only the flag bits; destination operand never changes. A comparison is useful for checking th

Subtract the numbers using 1's complements, Subtraction 11001-10110 using 1...

Subtraction 11001-10110 using 1's complement Ans. 11001 - 10110 01001 is 1' s Compliment of 10110, so     1 1 0 0 1 +  0 1 0 0 1 ------------------    1 0 0 0 1 0    Add 1

What is divide overflow, What is divide overflow?  The division operati...

What is divide overflow?  The division operation might result in a quotient with an overflow. Overflow happens when the length of the registers is finite and will not hold a nu

Explain working neural network work, Q. Explain working neural network work...

Q. Explain working neural network work? ANSWER: A neural network has an input layer with the factors under consideration, a middle or hidden layer that assigns and adjusts weig

Rationales for an effective and independent regulator, Question: (a) W...

Question: (a) What are the rationales for an effective and independent regulator? (b) Across Africa, regulators have established Universal Service Funds (USFs) in order to

Multiple instruction and multiple data stream (mimd), Multiple Instruction ...

Multiple Instruction and Multiple Data stream (MIMD) In this association, multiple control units and multiple processing elements are prepared as in MISD. But the discrepancy i

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