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

Differentiate between string constants & character constants, Computer Conc...

Computer Concepts & C Programming 1. Write a program to read four floating point numbers and find their sum and average. 2. What is the difference between string constants a

What are the disadvantages of fcfs scheduling algorithm, What are the disad...

What are the disadvantages of FCFS scheduling algorithm as compared to shortest job first (SJF) scheduling? Disadvantages: (i) Waiting time can be huge if short requests w

What is meant by super scalar processor, What is meant by super scalar proc...

What is meant by super scalar processor?  Super scalar processors are designed to exploit more instruction level parallelism in user programs. This means that multiple function

No. of decimal places for output within a write statement, The no of decima...

The no of decimal places for output can be describes within a write statement. This statement is right. Write:/ decimals 2.

Typewriters information distribution, TYPEWRITERS : Typewriter is the most...

TYPEWRITERS : Typewriter is the most common machine used in almost all offices. Typewritten letters are attractive in appearance as compared to handwritten ones. The same matter c

Different types of layers in tcp/ip protocol stack, What are the different ...

What are the different types of layers in TCP/IP protocol stack? Layers into the TCP/IP protocol architecture are as given below: • Application Layer, • Host-to-Host Tra

What are the phases of swapping a page from the memory, What are the phases...

What are the phases of swapping a page from the memory? Page stealer searches the page eligible for swapping and places the page number in the list of pages to be swapped. K

Build and evaluate a GAN based model using KERAS, I did not see an option r...

I did not see an option related to machine learning. so i selected computer engineering. Use different datasets such as: paintings by Picasso, Van Gogh, DaVinci

What is compact disk rom, Q. What is Compact Disk ROM? Both audio CD an...

Q. What is Compact Disk ROM? Both audio CD and CD-ROM (compact disk read-only memory) share similar technology. Main difference is that CD-ROM players are more rugged and have

Scoreboards- constrained-random verification methodology, Scoreboards- Cons...

Scoreboards- Constrained-Random Verification Methodology Scoreboards are used to verify that data has successfully reached its destination whereas monitors snoop the interfaces

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