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

Objectives-interconnection network, Objectives After examining this uni...

Objectives After examining this unit, learner's will be able to understand discuss the importance and needs of interconnection network; explain the part of interconn

Salient points about addressing mode, Salient points about addressing mode ...

Salient points about addressing mode are:  This addressing mode is employed to initialise value of a variable. Benefit of this mode is that no extra memory accesses are

How can system improved when free lines are available, How can system impro...

How can system improved if one arrive at the probability of availability of free lines during the busy hour? Improvement can be made when the system is act as a loss system in

Function modules are also external subroutines, Function Modules are also e...

Function Modules are also external Subroutines. True.

Arbitrary categorisation - learning decision trees, Arbitrary categorisatio...

Arbitrary categorisation - learning decision trees: Through visualising  a set of boxes with some balls in. There if all the balls were in a single box so this would be nicely

Assembler, Assembler: Typically a modern assembler makes object code b...

Assembler: Typically a modern assembler makes object code by translating assembly instruction into op codes, & by resolving symbolic names for memory locations and any other e

8086, the block diagram of an 8086 processor

the block diagram of an 8086 processor

Work in standard view, Layout view is helpful for laying out Web pages. How...

Layout view is helpful for laying out Web pages. However you can adjust most of your design elements in Layout view, certain changes should be completed in Standard view. When you

What is synchronous transmission, What is synchronous transmission? In ...

What is synchronous transmission? In synchronous transmission the two units share a common frequency and bits are transmitted continuously at the rate dictated  by clock pulses

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