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

Define compilers with high level programming language, Define Compilers wit...

Define Compilers with High Level Programming Language? All high-level programming language (except strictly interpretive languages) comes with a compiler. Effectively the compi

What do you mean by data warehousing, What do you mean by data warehousing?...

What do you mean by data warehousing? Data warehouse implies as: a) It is subject oriented b) It is integrated and c) It is time variant d) It is non-volatile colle

What is java swing, Swing is a GUI toolkit for Java. It is one kind of the ...

Swing is a GUI toolkit for Java. It is one kind of the Java Foundation Classes (JFC). Swing haves graphical user interface (GUI) widgets such as text boxes, buttons, split-panes, a

How 2-domain name servers contain exactly same set of names, Does it makes ...

Does it makes sense for two domain name servers to contain exactly the same set of names? Why? Yes. This is very advantageous for two domain servers having similar set of names

Arithmetic pipeline, Arithmetic Pipeline The complex arithmetic operati...

Arithmetic Pipeline The complex arithmetic operations like floating point and multiplication operations use a lot of the time of the ALU. These operations can also be pipelined

State and prove demorgan's second theorem, State and prove Demorgan's secon...

State and prove Demorgan's second theorem   Proof: Demorgan's second theorem   = A‾ + B‾ The two sides of the equation here   = A‾ + B‾ is represented through the logic d

What is the meaning of proper programming, What is the meaning of Proper pr...

What is the meaning of Proper programming Proper programming of the ports of the company's Web server through detection of IP addresses could be an excellent strategy or solut

What is clr, What is CLR?  CLR is .NET equivalent of Java Virtual Mach...

What is 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, which is then implemented a

Operating system, explain network operating system and design issues?

explain network operating system and design issues?

Develop a program octal to hexadecimal, Q.  Develop a Menu driven program w...

Q.  Develop a Menu driven program with following menu: 1.  Octal to Decimal 2.  Octal to Hexadecimal 3.  Octal to Binary

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