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

Determine about the programmable read only memory, Programmable read only m...

Programmable read only memory (PROM) A PROM is a memory chip on which data can be written only one time. Once a program has been written onto a PROM, it's permanent. Unlike RAM

Explain the virtual memory, What is virtual memory?  Virtual memory is ...

What is virtual memory?  Virtual memory is a technique that permits the execution of processes that may not be completely in memory. It is the separation of user logical memory

Explain the memory transfer process, Q. Explain the Memory Transfer process...

Q. Explain the Memory Transfer process? Memory Transfer Transfer of information from memory to outside world which implies I/O Interface is known as a read operation. Tra

Which one is better hardware or software firewall, Which one is better hard...

Which one is better hardware or software firewall While deciding whether to buy a hardware or software firewall, the user must consider important factors such as performance an

Print a prompt, When your shell is waiting for input from the user, it shou...

When your shell is waiting for input from the user, it should first print a prompt. The prompt should consist of the current working directory followed by the _>_ character. Here i

Advantage of wrapping database calls into mts transactions, Advantage of wr...

Advantage of wrapping database calls into MTS transaction If database calls are complete within the context of a transaction, aborting the transaction will undo and changes that

Advantages and disadvantages of shared memory programming, Q. Show Advantag...

Q. Show Advantages and Disadvantages of Shared Memory Programming? Advantages of Shared Memory Programming Data sharing between processes is both rapid and uniform bec

What is processor time of a program, What is processor time of a program? ...

What is processor time of a program? The periods during which the processor is active is known as processor time of a program it depends on the hardware included in the executi

Example on distribution of data, Q. Example on Distribution of Data? !H...

Q. Example on Distribution of Data? !HPF$ PROCESSORS P1(4) !HPF$ TEMPLATE T1(18) !HPF$ DISTRIBUTE T1(BLOCK) ONTO P1  Consequently of these instructions distribution of

Illustrate about direct addressing mode, Q. Illustrate about Direct Address...

Q. Illustrate about Direct Addressing mode? In this technique operand field of instruction specifies direct address of intended operand for example if instruction LOAD 500 uses

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