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

Syntax of $display and $strobe, Syntax of $display and $strobe -  $disp...

Syntax of $display and $strobe -  $display ("format_string", par_1, par_2, ... ); -  $strobe ("format_string", par_1, par_2, ... ); -  $monitor ("format_string", par_1, p

Explain frame filtering, Write notes on Frame Filtering Techniques. Fr...

Write notes on Frame Filtering Techniques. Frame filtering: The most valuable function performed through bridges is frame filtering. A bridge doesn't forward a frame unles

Subsequent statements set every element of matrix, Q. Subsequent statements...

Q. Subsequent statements set every element of matrix? Let a= [2,4,6,8,10], b=[1,3,5,7,9], c=[0,0,0,0,0] Consider the subsequent program section FORALL (i = 2:4)   a(i)

Explain variable-partition contiguous storage allocation, Explain the conce...

Explain the concept of variable-partition contiguous storage allocation. Suppose that we have 1024K main memory available in that 128K is occupied through operating system pro

What are the limitations of traditional payment instruments, What are the l...

What are the limitations of traditional payment instruments? The limitations of traditional payment system are that they take a lot of time.  These systems needs manual work to

What is applying of an open source systems, What is applying of an Open Sou...

What is applying of an Open Source Systems?   No licensing issues No initial cost Speed of Access Openness and Transparency

Construct a shift register from S-R flip-flops, Construct a shift register ...

Construct a shift register from S-R flip-flops. Explain its working. Ans: S-R Flip-Flop Shift Register: Shift registers can be built through using SR flip-flops. Fig.(a)

Translator for low level programming language, Translator for low level pro...

Translator for low level programming language were called as    Assembler

Determine the use of loop instruction, Q. Determine the use of LOOP instruc...

Q. Determine the use of LOOP instruction? Program: This program prints the alphabets (A-Z) ; Register used: AX, CX, DX CODE SEGMENT ASSUME: CS: CODE.     MAINP:

What is double data rate sdram, What is double data rate SDRAM?  Double...

What is double data rate SDRAM?  Double data rates SDRAM are those which can transfer data on both edges of the clock and their bandwidth is fundamentally doubled for long burs

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