Selection sort source code in c++, Insertion sort source code in c++, Merge sort source code in c++, Quick sort source code in c++, c++, source code,
// sorts.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include"string.h"
#include<time.h>
#include<iostream>
#include<complex>
using namespace std;
const int arrsize=100;
const int nrange = 320;
void display(int arr[], int n)
{
cout<<\n------------------------------------------\n";
for(int i=0; i<n; i++)
{
cout<<arr[i]<<" ";
}
cout<<endl;
}
void insertionsort(int a[], int n)
{
for(int i=0; i<n; i++)
{
int cur = a[i];
int j = i - 1;
while( j>=0 && a[j] > cur)
{
a[j+1] = a[j];
j--;
}
a[j+1]=curr;
}
}
void insertionsortrev(char a[], int n)
{
for(int i=0; i<n; i++)
{
char cur=a[i];
int j=i-1;
int k=0;
while(j>=0 && a[j]>curr)
{
a[j+1] = a[j];
j--;
}
a[j+1]=cur;
}
}
void selectsort(int arr[], int n)
{
int pos_min,temp;
for(int i=0; i<n-1; i++)
{
pos_min = 1;
for(int j=i+1; j<n; j++)
{
if (arr[j] < arr[pos_min])
pos_min=j;
}
if(pos_min != i)
{
temp=arr[i];
arr[i]=arr[pos_min];
arr[pos_min] = temp;
}
}
}
void mergsort(int s[], int n)
{
if(n <= 1) return;
int s1[arrsize/2+1];
int s2[arrsize/2+1];
for(int i=0; i<n/2; i++)
{
s1[i]=s[i];
}
for(i=n/2; i<n; i++)
{
s2[i-n/2] = s[i];
}
mergsort(s1, n/2);
mergsort(s2, n-n/2);
for(i=0; i<n; i++)
{
s[i]=0;
}
int n1=0;
int n2=0;
i=0;
while (n1 < n/2 && n2 < (n-n/2))
{
if(s1[n1] < s2[n2])
s[i++] = s1[n1++];
else
s[i++] = s2[n2++];
}
while (n1 < n/2)
{
s[i++] = s1[n1++];
}
while(n2 < n-n/2)
{
s[i++] = s2[n2++];
}
}
void quicksort(int arr[], int left, int right)
{
int i=left, j=right;
int tmp;
int pivot = arr[(left+right)/2];
while (i <= j)
{
while(arr[i] < pivot)
i++;
while(arr[j] > pivot)
j++;
if(i <= j)
{
tmp=arr[i];
arr[i] = arr[j];
arr[j] = tmp;
i++;
j--;
}
}
if(left<j)
quicksort(arr,left,j);
if(i<right)
quicksort(arr,i,right);
}
int main(int argc, char* argv[])
{
srand( (unsigned)time(NULL));
const int n=arrsize;
int b[n];
for(int i=0; i<n; i++)
{
b[i] = rand() % nrange;
}
display(b,n);
selectsort(b,n);
insertionsort(b,n);
mergsort(b,n);
quicksort(b,n);
}
}
Dear Readers if you have any query/question feel free to ask me via comment box given below. Also Follow us on social media site and share that post with your friends. - See more at: http://onlinecomputercafe.blogspot.com
useful tutorial keep it up...
EmoticonEmoticon