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

How is it possible to make a module counter using n flipflop, How is it pos...

How is it possible to make a module 2 n counter using N-flipflops?  Name the two types of such counters. Ans: Module 2 n counter counts total 2 n distinguishable states w

what is a real time system, A real time system is a computer system that u...

A real time system is a computer system that updates the information at the similar rate it receives it. Real time system is of two types:- a)  Hard real time system and

How are the instructions provided to computer, Let's answer our second ques...

Let's answer our second question first. All computers have a Unit which performs arithmetic and logical functions. This Unit is called as Arithmetic and Logic Unit (ALU). However h

Define rules for reducing karnaugh maps, Define Rules for Reducing Karnaugh...

Define Rules for Reducing Karnaugh Maps? The rules for reducing Karnaugh Maps (k- maps) are as follows: All of the 1's in the Karnaugh Map are called as minterms. The

Expalin massively parallel system and scalability, Massively Parallel Syste...

Massively Parallel System Indicates to a "parallel computer system" involving a huge number of processors. The numbers in a huge number of processors keeps increasing and curre

Define internet infrastructure, As we know how packets travel from one comp...

As we know how packets travel from one computer to another over the Internet. However what's in-between? Actually what makes up the Internet infrastructure or backbone? Fi

Explain usenet and newsgroups, Q. Explain Usenet and Newsgroups? In Int...

Q. Explain Usenet and Newsgroups? In Internet there exists another way to meet people and share information. One such way is through Usenet newsgroups. These are special groups

Determine the uses of programming language interface, Determine the uses of...

Determine the uses of Programming Language Interface PLI  is  used  for  implementing  system  calls  that would  have  been  hard  to  do  otherwise  (or impossible) using Ve

draw the precedence diagram , The desired daily output for an assembly ...

The desired daily output for an assembly line is 360 units. This assembly line will operate 450 minutes per day. The following table have information on this product's task times a

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