Program to sort a range of numbers with insertion, C/C++ Programming

Assignment Help:

Program to sort a range of numbers with Insertion:

/* define variable */

const int max=29000;

int list[max];

FILE *fp;

clock_t start,end;

char any1[8];

 

/* Insertion sort module */

void insertion(int min1,int max1)

{

    int a,b,v;

 

    for(a=min1;a<=max1;a++)

    {

       v = list[a];

       b = a;

       do

       {

                   list[b] = list[b-1];

                   b = b - 1;

       }  while(list[b-1] > v);

       list[b] = v;

    }

}

 

/* sort partitioning element */

void sorthree(int x,int y,int z)

{

int temp;

 

if (list[x] > list[y])

{

   temp = list[x];

   list[x] = list[y];

   list[y] = temp;

}

if (list[z] < list[x])

{

   temp = list[x];

   list[x] = list[z];

   list[z] = temp;

   temp = list[y];

   list[y] = list[z];

   list[z] = temp;

}

if ((list[z] > list[x]) && (list[z] < list[y]))

{

   temp = list[y];

   list[y] = list[z];

   list[z] = temp;

}

}

 

/* Quicksort module */

void quicksort(int min2,int max2)

{

int m,v,t,i,j,q;

 

if ((max2-min2) > 9)

{

   m = (max2-min2+1)/2;

   sorthree(min2,m,max2);

   max2=max2-1;

   q = list[m];

   list[m] = list[max2];

   list[max2] = q;

 

   v = list[max2];

   i = min2+1;

   j = max2-1;

   do

   {

      do

      {

                 i=i+1;

      } while (list[i] < v);

      do

      {

                 j=j-1;

      } while (list[j] > v);

      t = list[i];

      list[i] = list[j];

      list[j] = t;

   }  while (i

   list[j]=list[i];

   list[i]=list[max2];

   list[max2]=t;

   quicksort(min2,i-1);

   quicksort(i+1,max2);

 }

else

 insertion(m,max2);

}

 

 

/* main program */

void main()

{

int i,j,k,min,max1;

char any2[8];

 

clrscr();

cout << "Enter a file name to store data :";

cin >> any1;                                  /* input data file name on */

cout << '\n' << "Generating file...waits\n\n";/*   screen */

 

fp = fopen(any1,"w");

    for(j=0;j

    {

       for(i=0;i<200;i++)    /* write random values to file */

       {

                   k = rand();

                   fprintf(fp,"%d\n",k);

       }

    }

fclose(fp);

 

fp = fopen(any1,"r");

    i = 0;

    while(fscanf(fp,"%d\n",&k) != EOF)

    {

                  list[i] = k;  /* read values from file and assign to an array */

                  i = i + 1;

    }

fclose(fp);

min = 0;

max1 = max;

max1=max1-1;

cout << "Sorting with Quicksort... waits" << '\n';

start = clock();

quicksort(min,max1);   /* sort an unsorted list with quicksort */

end=clock();

float result = (end-start)/CLK_TCK;

cout << "The time needs to sort " << max

     << " numbers in Quciksort is : " << result << " second(s)" << "\n\n";

 

 

cout << "Enter an output file for Quicksort : ";

cin >> any2;

 

fp = fopen(any2,"w");

  for(i=0;i

  {                   /* write the output from quicksort and put them */

      k = list[i];    /*to a file */

      fprintf(fp,"%d\n",k);

  }

fclose(fp);

 

fp = fopen(any1,"r");

    i = 0;

    while(fscanf(fp,"%d\n",&k) != EOF)

    {

                  list[i] = k;

                  i = i + 1;

    }

fclose(fp);

cout << "\nSorting with Insertion Sort... waits" << '\n';

start = clock();

insertion(0,max);   /* sort an unsorted list with insertion sort */

end=clock();

result = (end-start)/CLK_TCK;

cout << "The time needs to sort " << max

     << " numbers in Insertion is : " << result << " second(s)" << "\n\n";

 

cout << "Sort an already sorted array again with Quicksort..." << '\n';

min = 0;

max1 = max;

max1=max1-1;

start = clock();

quicksort(min,max1);  /* sort an already sort list with quicksort */

end=clock();

result = (end-start)/CLK_TCK;

cout << "The time needs to sort " << max

     << " numbers in Quicksort is : " << result << " second(s)" << "\n";

 

cout << "Sort an already sorted array again with Insertion sort..." << '\n';

start = clock();

insertion(0,max);   /* sort an already list with insertion sort */

end=clock();

result = (end-start)/CLK_TCK;

cout << "The time needs to sort " << max

     << " numbers in Insertion sort is : " << result << " second(s)" << '\n';

}

 

 

 


Related Discussions:- Program to sort a range of numbers with insertion

Copy constructor and overloaded assignment operator, please provide me the ...

please provide me the assignment help. What is the difference between a copy constructor and an overloaded assignment operator?

C program for dynamic data structure(linked list), Aim: To implement a pro...

Aim: To implement a program for dynamic data structure(linked list). Code:                       class node {             int data;             node *next;

Define storage classes of c program - computer programming, Define Storage ...

Define Storage Classes of c program - computer programming? Each variable and function in C language has two attributes that are type and storage class. If storage class of a v

Decodethecode, 6999066263304447777077766622337778 -----> message sent by th...

6999066263304447777077766622337778 -----> message sent by the first smuggler. my name is robert---------> message decoded by the second smuggler. Where ‘0’ denotes the "space".

Experiment with the small test matrix, For this assignment, I've provided a...

For this assignment, I've provided a data file called 'elevation.mat', which contains the elevation data you'll be working with.   Type load elevation.mat to get the varia

#psuedocode, Create a pseudocode in getting Calendar Quarter. The program s...

Create a pseudocode in getting Calendar Quarter. The program should identify which quarter falls the given date. Note: Consider the date format DDMMYYYY.

Define the multi dimensional arrays, Define the Multi Dimensional Arrays? ...

Define the Multi Dimensional Arrays? Consequently far we have considered arrays with only one dimension. It is as well possible to define an array which is having a 2-dimension

What do you mean by inheritance, Inheritance is the process of forming new ...

Inheritance is the process of forming new classes, called derived classes, from existing classes or base classes. The derived class inherits all the capabilities of the base class,

What is your reaction to following line of code? , Q-What is your reaction ...

Q-What is your reaction to following line of code?               delete this; A: This is not a good programming Practice. A good programmer will insist that you must absolute

Usb photobackup, Project Description: Prepare software that will work with ...

Project Description: Prepare software that will work with our USB hardware that easily lets you backup all the pictures in your computer into the USB stick in one single step. Once

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