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 is assembler, What is Assembler An assembler is a program which ta...

What is Assembler An assembler is a program which takes as input a symbolic language program and produces output as its binary machine language equivalent. The input is known a

Describe the errors, Q. Describe the Errors? Errors  Two probable...

Q. Describe the Errors? Errors  Two probabletypes of errors may take place in assembly programs:   a. Programming errors: They are familiar errors you may encounter in

Addressing mode, the 68000 has rich of addressing mode . it concerned with ...

the 68000 has rich of addressing mode . it concerned with the way data is accessed . identify the destion addressing mode for EXG D0, A2

AWS, aws hosting

aws hosting

Interaction between the dynpro and the abap/4, How does the interaction bet...

How does the interaction between the Dynpro and the ABAP/4 Modules takes place? -A transaction is a collection os screens and ABAP/4 routines , controlled and implemented by a

Hard disk technology - computer architecture, Hard Disk Technology: Fi...

Hard Disk Technology: Figure of a computer hard disk drive           HDDs record data by magnetizing ferromagnetic material directionally, to represent

Support for high-level language, With the increasing use of more and higher...

With the increasing use of more and higher level languages manufacturers had offered more powerful instructions to support them. It was claimed that a stronger instruction set will

Very long instruction word architecture, Superscalar architecture was desig...

Superscalar architecture was designed to increase the speed of the scalar processor. But it has been realized it's not easy to apply. Subsequent are a number of problems faced in t

Define refresh circuits, Define Refresh Circuits? It is a circuit which...

Define Refresh Circuits? It is a circuit which make sure that the contents of a DRAM are maintained when every row of cells are accessed periodically.

Define mfc, Define MFC. To accommodate the variability in response time...

Define MFC. To accommodate the variability in response time, the processor waits unless it receives an indication that the requested read operation has been done. The control s

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