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

What is segment - assembler directives, What is SEGMENT - Assembler directi...

What is SEGMENT - Assembler directives SEGMENT:  This directive defines to assembler the start of a segment with name segment-name.  Segment name must be unique and follows the

Digital Design, Design a serial 2’s complementer with a shift register and ...

Design a serial 2’s complementer with a shift register and a flip-flop

Detail explanation of cryptographic modules, Detail explanation of Cryptogr...

Detail explanation of Cryptographic modules Physical security of the cryptographic modules is also built in order to provide total security of the whole system and protect from

What is read only memory (rom) and define the use of it?, What is Read only...

What is Read only memory (ROM) and Define the Use of it? A simple kind of ROM can be constructed from a decoder, Or gates, and a number of wires. Input

Implementation for the prime machine, Write an implementation for the Prime...

Write an implementation for the Prime machine (de?ned at the end of the assignment sheet). Provide a suitable invariant and variant for any loop you use. Provide comments in your m

Hardware design of a typical system, Motorola 68HC11 series is a family of ...

Motorola 68HC11 series is a family of micro controllers , each device contains slightly different  functional blocks , however they are all based around the same microprocessor nam

Explain cache-only memory access model (coma), Cache-Only Memory Access Mod...

Cache-Only Memory Access Model (COMA) As we have considered earlier, shared memory multiprocessor systems can use cache memories with each processor for decreasing the execution

Pruning - artificial intelligence, Pruning - artificial intelligence: ...

Pruning - artificial intelligence: Recall which pruning a search space means deciding that there certain branches to should not be explored. Moreover if an agent knows for sur

Explain the advantages of high level languages, Explain the Advantages of H...

Explain the Advantages of High Level Languages? The major advantage of high-level languages over low-level languages is that they are easier to write, read, and maintain. Ultim

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