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

Determine the statement for array, Q. Determine the statement for array? ...

Q. Determine the statement for array? Determine the statement ALIGN A[i] WITH B[i] This statement aligns every A[i] with B[i] as displayed in Figure below. Figure

Control flow diagram, creating a control flow question for atm system

creating a control flow question for atm system

Manipulate the presentation and attributes interactive list, How can you m...

How can you manipulate the presentation and attributes of interactive lists? ---Scrolling by Interactive Lists. ---Setting the Cursor from within the Program. ---Changing

Automatic switching system and manual switching system, Discuss the advanta...

Discuss the advantages of automatic switching systems over manual switching system. Automatic switching systems have some advantages over the manual exchanges: 1. In a manua

Show select tag and pull down lists, The next type of input is a Pull Down ...

The next type of input is a Pull Down List. With this type you have to employ in place of and it also has a closing tag. This control is used when we have a

TIME COMPLEXITY, calculate the time complexity of a=(b/c) operation in stac...

calculate the time complexity of a=(b/c) operation in stack

Predicate logic - artificial intelligence, Translate the following sentence...

Translate the following sentences into predicate logic, using Russell's theory of definite descriptions to represent the article the. a. The wizzard of Oz fell. b. Everyone a

Solve the assignment of finite automata, Solve the assignment of NFA-- Fini...

Solve the assignment of NFA-- Finite Automata and Formal Language Project Description: I have an assignment on Finite Automata and Formal Languages ( Nondeterministic Fini

Explain cocomo model, A COCOMO model is :- COCOMO:- Constructive Cost Es...

A COCOMO model is :- COCOMO:- Constructive Cost Estimation Model.

Define bidirectional bus, Define bidirectional bus? A bidirectional bus...

Define bidirectional bus? A bidirectional bus is that which permits the transfer of data either from memory to CPU during a read operation or from CPU to memory during write op

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