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

Explain the working of A/D converter, With the help of a neat diagram, expl...

With the help of a neat diagram, explain the working of a successive approximation A/D converter Ans: Successive Approximation ADC: It is the most broadly used A/D con

Conversioin of the decimal number 82.67 into octal number , Conversioin of ...

Conversioin of the decimal number 82.67 into Octal number ? Ans. The binary equivalent is (1010010.10101011) 2 of decimal number 82.67. After that convert each 3-bit binary in

When will the current screen processing terminates, When will the current s...

When will the current screen processing terminates? A current screen processing terminates when control reaches either a Leave-screen or the end of PAI.

is risc always fast, It is fast because it has got separate program and da...

It is fast because it has got separate program and data memory(highly pipelined architecture)

What is dynpro, What is dynpro?What are its components ? A dynpro (Dyna...

What is dynpro?What are its components ? A dynpro (Dynamic Program) having of a screen and its flow logic and controls exactly single dialog steps. The dissimilar components

Basic operational concepts of a computer, Basic Operational Concepts of a C...

Basic Operational Concepts of a Computer: Most of computer operations are executed in the ALU (arithmetic and logic unit) of a processor. For an example: to add 2 numb

Write a ''c'' functions to arrange the elements of an integer , Write a 'C'...

Write a 'C' functions to arrange the elements of an integer array in such a way that all the negative elements are before the positive elements. The array is passed to it as an arg

Explain the daa instruction, Explain the DAA DAA instruction follows th...

Explain the DAA DAA instruction follows the ADC or ADD instruction to adjust the result into a BCD result. DAA instruction functions only with the AL register, this addition sh

Combined parallel work-sharing constructs, Q. Combined Parallel Work-sharin...

Q. Combined Parallel Work-sharing Constructs? Combined parallel work sharing constructs are shortcuts for specifying a work sharing construct nested instantaneously in a parall

Define the arithmetic micro-operations, Q. Define the Arithmetic Micro-oper...

Q. Define the Arithmetic Micro-operations? These micro-operations execute simple arithmetic operations on numeric data stored in registers. The fundamental arithmetic micro-ope

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