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 are user threads, What are User threads   User threads are support...

What are User threads   User threads are supported above the kernel and are executed by a thread library at the user level. Thread creation & scheduling are done in the user sp

Define side tone is essential in telephone communication, A certain amount ...

A certain amount of side tone is essential in telephone communication. Ans: It is true that a specific amount of side tone is necessary in telephone communication.

What are the major characteristics of a pipeline, What are the major charac...

What are the major characteristics of a pipeline? The major characteristics of a pipeline are: a) Pipelining cannot be executed on a single task, as it works by splitting mu

Define both fork and vfork, How and when race conditions happen in process ...

How and when race conditions happen in process control? How can it be avoided? b. Differentiate among following functions giving related syntax: (i) fork and vfork (ii) w

Explain about variable-length of instructions, Q. Explain about Variable-Le...

Q. Explain about Variable-Length of Instructions? With the better understanding of computer instruction sets designers developed the idea of having a range of instruction forma

Why should i use xml, ? XML can be used to explain and recognize informatio...

? XML can be used to explain and recognize information accurately and unambiguously, in a way that computers can be programmed to? Understand? (Well, at least influence as if they

Internet programming, Futoshiki is a game played on an N by N (usually 5 by...

Futoshiki is a game played on an N by N (usually 5 by 5) grid and uses the symbols 1 .. N. The objective of the game is to place each symbol on the grid so that it only occurs once

Recent parallel programming models, A model for parallel programming is an ...

A model for parallel programming is an abstraction in addition its machine architecture is independent. A model is able to be implemented on different hardware and memory architect

State about the logic micro-operations, State about the Logic Micro-operati...

State about the Logic Micro-operations These operations are performed on binary data stored in register. For a logic micro-operation each bit of a register is treated as a diff

Explain what are the different hazards, There are situations, called hazard...

There are situations, called hazards that stop the next instruction in the instruction stream from implementing during its designated clock cycle. Hazards decrease the performance

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