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 common language runtime, What is "Common Language Runtime" (CLR)?  ...

What is "Common Language Runtime" (CLR)?  CLR is .NET equivalent of Java Virtual Machine (JVM). It is the runtime that changes a MSIL code into the host machine language code,

What are different normalization forms, What are different normalization fo...

What are different normalization forms? 1NF: Eliminate Repeating Groups Make a separate table for every set of related attributes, and give each table a primary key. Each fie

Overflow or underflow for floating point numbers, In floating point numbers...

In floating point numbers when so you say that an overflow or underflow has occurred? Ans: A) In single precision numbers when an exponent is less than +127 then we say that

What is the purpose of cdata in an xml document, Question: (a) What is...

Question: (a) What is the purpose of CDATA in an XML document? Explain your answer using extract codes. (b) Consider the following definition for an address element:

Design 4 to 1 multiplexer with strobe input using nand gates, Design a 4 : ...

Design a 4 : 1 multiplexer with strobe input using NAND gates. Ans. Design of 4 : 1 multiplexer with strobe input using NAND gates.

Types of structure charts, Types of Structure Charts Transaction struc...

Types of Structure Charts Transaction structure - control module calls subordinate modules, each of which handles a certain transaction More afferent processes Le

What is a turing machine, What is a Turing Machine?  Turing machine is...

What is a Turing Machine?  Turing machine is a simple mathematical model of a computer. TM has unlimited an unrestricted memory and is a much more accurate model of a general

Write the html code to webpage to insert scrollable lists, Write the HTML c...

Write the HTML code to accomplish the web page to insert scrollable lists that will always display four entries of the list. The HTML code to accomplish the web page is given b

Explain about the links and association, Links and Association Links a...

Links and Association Links and associations are the basic means used for establishing relationships among objects and classes of the system. In the next subsection we will di

Identifying constraints between objects, Identifying Constraints between Ob...

Identifying Constraints between Objects In a system, there are few boundaries to work on. Boundaries or Constraints are functional dependencies among objects which are not con

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