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 are invisible components, They are light weight components that do no ...

They are light weight components that do no painting, but can take space in the GUI. This is mainly used for layout management.

Which network connects multiple company locations, A/An                net...

A/An                network is typically a company network that connects multiple company locations into a single network. (A)  local area                                  (B

High level language program characteristics, Q. High Level Language Program...

Q. High Level Language Program Characteristics? So it is clear that new architectures must support high-level language programming. A high-level language system can be implemen

Entrepreneurship, explain succession planning and strategies for harvesting...

explain succession planning and strategies for harvesting and ending the venture

Testmanager can be used for performance testing, Rational Testmanager is a ...

Rational Testmanager is a complicated tool that can be used for automating performance tests on client/server systems. A client/server system have client applications accessing a d

Salient features of direct addressing mode, Q. Salient features of direct a...

Q. Salient features of direct addressing mode? A number of salient points about this technique are: This scheme offers a limited address space since if address field has

What is structured programming, What is structured programming? Structu...

What is structured programming? Structured Programming: means the collection of principles and practices that are directed toward developing right programs which are simple to

Explain the paging unit, Explain the Paging Unit Paging mechanism funct...

Explain the Paging Unit Paging mechanism functions with 4K - byte memory pages or with a new extension available to Pentium with 4M byte-memory pages. In Pentium, with new 4M-b

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