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

Explain about threads model - programming model, Q. Explain about Threads M...

Q. Explain about Threads Model - programming model? In this model a single process can have many as well as concurrent execution paths. The main program is planned to run by na

Working on dreamweaver, Write your text, format text, insert picture throug...

Write your text, format text, insert picture through Object window or INSERT -> IMAGE. Insert Menu provides you all features which are available under the Object window. Modify men

What is the best way offload responsibility, What is the best way offload r...

What is the best way offload responsibility? The best way to offload responsibilities is to purchase services through a Service Provider. ISPs, customers and Service Provide

Assembler directives, Assembler directives: An assembler directive is ...

Assembler directives: An assembler directive is a statement to give direction to the assembler to perform the task of assembly process. Assembler directives control organizati

How is a microsoft crm workflow tool enabled, How is a Microsoft CRM Workfl...

How is a Microsoft CRM Workflow tool enabled? A Microsoft CRM Workflow tool enables certainly one to as given below: • Explain business policies based upon established proce

How can i execute a php script using command line, Just run the PHP CLI (Co...

Just run the PHP CLI (Command Line Interface) program and give the PHP script file name as the command line argument. For instance, "php myScript.php", assuming "PHP" is the comman

State the term- use a define function, State the term- Use a define functio...

State the term- Use a define function This is almost exactly the same approach as #define and -D compiler arg that C programs use. In your  Verilog  code,  use  a  'define  to

Programming for arithmetic and string operations, Advanced aspects of assem...

Advanced aspects of assembly language programming in this section. A number of these aspects give assembly an edge over high level language programming as far as efficiency is conc

Logical database reads the data from the database, Is it true that the Logi...

Is it true that the Logical Database reads the data from the database tables using Select Statements. Yes. We are coding that in Database part of LDB.

Area under curve , Write a program to find the area under the curve y = f(x...

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve between two points can b

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