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

Define deadlock, Define deadlock. A process requests resources; if the ...

Define deadlock. A process requests resources; if the resources are not available at that time, the method enters a wait state. Waiting processes might never again change state

What are the various functional verification methodologies, What are the va...

What are the various functional verification methodologies Ans: TLM (Transaction Level Modelling) Linting RTL Simulation (Environment  involving  :  stimulus  generators,

What are the two levels in defining a match code, What are the two levels i...

What are the two levels in defining a Match Code? Match Code Object. Match Code Id.

Illustrate third generation computers, Q. Illustrate third Generation Compu...

Q. Illustrate third Generation Computers? The third generation has fundamental hardware technology: Integrated Circuits (ICs). To understand what are Integrated circuits let's

Java''s layout managers give over traditional windowing syste, Java uses la...

Java uses layout managers to lay out components in a consistent manner across all windowing platforms. As Java's layout managers aren't tied to absolute sizing and positioning, the

Define the term grade of service, Define the term Grade of Service. Gr...

Define the term Grade of Service. Grade of Service: In loss systems, the traffic carried through the network is usually lower than the actual traffic offered to the network t

Pipelined processor, Pipelined Processor Having discussed pipelining; n...

Pipelined Processor Having discussed pipelining; now we can describe a pipeline processor. A pipeline processor can be distinct as a processor that consists of a series of proc

Determine about the security- accidental damage, Determine about the securi...

Determine about the security- accidental damage accidental damage is best guarded against by keeping back up files or use Grandfather-Father-Son (GFS) method; also use of passw

history of databases , Write a four-page paper how relational data solutio...

Write a four-page paper how relational data solution is applied to presnt Video Store business. 1.       Describe Relational Databases   2.       Write History of databases

Cisc approach - cisc architecture, CISC Approach - CISC architecture: ...

CISC Approach - CISC architecture: The main goal of CISC architecture is to finish a task in as few lines of assembly as possible as. This is gain by building processor hardwa

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