KEMBAR78
Stl algorithm-Basic types | PDF
C++ Algorithms
Mohammed Sikander
Team Lead
Cranes Software International Limited
mohammed.sikander@cranessoftware.com
Mohammed Sikander www.cranessoftware.com
int main( )
{
int a = 5 , b = 10;
swap(a , b);
cout << a << "t" << b << endl;
double c = 4.5 , d = 2.5;
swap(c , d);
cout << c << "t" << d << endl;
}
Mohammed Sikander www.cranessoftware.com
int main( )
{
int a = 5 , b = 10;
cout << max(a , b) << endl;
double c = 4.5 , d = 2.5;
cout << max(c , d) << endl;
string s1 = "DELHI" , s2 = "DEHRADUN";
cout << max(s1 , s2) << endl;
}
max - Returns the greater of the given values
const T& max( const T& a, const T& b );
Mohammed Sikander www.cranessoftware.com
int main( )
{
int a = 5 , b = 10;
cout << min(a , b) << endl;
double c = 4.5 , d = 2.5;
cout << min(c , d) << endl;
}
min – Returns the smaller of the given values
Mohammed Sikander www.cranessoftware.com
int main( )
{
int arr[] { 5 , 10 , 8 , 2 , 6};
int *ptr = max_element( arr , arr + 5);
cout <<"The max element is " << *ptr << endl;
cout <<"Max element is at Index " << ptr - arr << endl;
}
max_element - Finds the greatest element in the range [first, last].
Iter max_element(Iter first, Iter last );
Mohammed Sikander www.cranessoftware.com
int main( )
{
int arr[] { 5 , 10 , 8 , 2 , 6};
int *ptr = min_element( arr , arr + 5);
cout <<"The min element is " << *ptr << endl;
cout <<“Min element is at Index " << ptr - arr << endl;
}
Mohammed Sikander www.cranessoftware.com
int main( )
{
int arr[] { 5 , 10 , 8 , 2 , 6};
sort( arr , arr + 5);
for(int i = 0 ; i < 5 ; i++)
cout << arr[i] << endl;
char str[] = "CRANES";
sort(str , str + 6);
cout << str;
}
Mohammed Sikander www.cranessoftware.com
int main( )
{
int arr[] { 5 , 10 , 8 , 2 , 6};
int key = 8;
int *ptr = find(arr , arr + 5 , key);
if(ptr == arr + 5)
cout <<"Element not found ";
else
cout <<"Element found at index " << ptr - arr;
}
Find : Returns an pointer to the first element in the range [first,last) that
compares equal to value, or last if not found.
Mohammed Sikander www.cranessoftware.com
 bool binary_search(ForwardIt first, ForwardIt last,constT &key);
int main( )
{
int arr[10];
for(int i = 0 ; i < 10 ; i++)
cin >> arr[i];
sort(arr , arr + 10);
cout <<"Enter the key element to search : ";
cin >> key;
bool res = binary_search(arr , arr + n , key);
cout <<(res ? “Found “ : “Not Found” <<endl;
}
Mohammed Sikander www.cranessoftware.com
int main()
{
char str[] = "BANGALORE ISTHE CAPITALOF KARNATAKA";
int len = strlen(str);
cout << count(str , str + len , 'A');
}
Mohammed Sikander www.cranessoftware.com
int main( )
{
int arr1[] = { 5 , 10 , 8 , 2 , 6};
int arr2[5];
copy(arr1 , arr1 + 5 , arr2);
for(int i = 0 ; i < 5 ; i++)
cout << arr2[i] <<"t" ;
}
Mohammed Sikander www.cranessoftware.com
int main( )
{
int arr[5] ;
fill(arr , arr + 5 , 10);
for(int i = 0 ; i < 5 ; i++)
cout << arr[i] <<"t" ;
}
Mohammed Sikander www.cranessoftware.com
bool isprime(int n)
{
for(int i = 2 ; i < n ; i++)
if(n % i == 0)
break;
return (i==n)?true:false;
}
int main( )
{
int arr[] = {2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int x = count_if(arr , arr + 14 , isprime);
cout <<"Total Prime Numbers are " << x << endl;
cout <<"Total Even numbers are " <<
count_if(arr , arr + 14 , iseven) << endl;
}
bool iseven(int n)
{
return n % 2 == 0 ? true : false;
}
Mohammed Sikander www.cranessoftware.com
int main()
{
char str[] = "BANGALORE ISTHE CAPITALOF KARNATAKA";
int len = strlen(str) + 1;
remove(str , str + len , 'A');
cout << str;
int arr[] = {2,3,4,5,3,7,8,9,3,11,12,3,14,15};
int *pend = remove(arr , arr + 14 , 3);
for(int *pbegin = arr ; pbegin != pend ; pbegin++)
cout << *pbegin << "t" ;
}
Mohammed Sikander www.cranessoftware.com
void factorial(int n)
{
int res = 1;
for(int i = 2 ; i <= n ; i++)
res *= i;
cout <<"Factorial ( "<< n <<" ) " << res << endl;
}
int main( )
{
int arr[] = {1,2,3,4,5,6,7,8};
for_each(arr , arr + 8 , factorial);
}
Mohammed Sikander www.cranessoftware.com
void factorial(int &n)
{ int res = 1;
for(int i = 2 ; i <= n ; i++)
res *= i;
n = res;
}
int main( )
{
int arr[] = {1,2,3,4,5,6,7,8};
for_each(arr , arr + 8 , factorial);
for(int i = 0 ; i < 8 ; i++)
cout << arr[i] << endl;
}

Stl algorithm-Basic types

  • 1.
    C++ Algorithms Mohammed Sikander TeamLead Cranes Software International Limited mohammed.sikander@cranessoftware.com
  • 2.
    Mohammed Sikander www.cranessoftware.com intmain( ) { int a = 5 , b = 10; swap(a , b); cout << a << "t" << b << endl; double c = 4.5 , d = 2.5; swap(c , d); cout << c << "t" << d << endl; }
  • 3.
    Mohammed Sikander www.cranessoftware.com intmain( ) { int a = 5 , b = 10; cout << max(a , b) << endl; double c = 4.5 , d = 2.5; cout << max(c , d) << endl; string s1 = "DELHI" , s2 = "DEHRADUN"; cout << max(s1 , s2) << endl; } max - Returns the greater of the given values const T& max( const T& a, const T& b );
  • 4.
    Mohammed Sikander www.cranessoftware.com intmain( ) { int a = 5 , b = 10; cout << min(a , b) << endl; double c = 4.5 , d = 2.5; cout << min(c , d) << endl; } min – Returns the smaller of the given values
  • 5.
    Mohammed Sikander www.cranessoftware.com intmain( ) { int arr[] { 5 , 10 , 8 , 2 , 6}; int *ptr = max_element( arr , arr + 5); cout <<"The max element is " << *ptr << endl; cout <<"Max element is at Index " << ptr - arr << endl; } max_element - Finds the greatest element in the range [first, last]. Iter max_element(Iter first, Iter last );
  • 6.
    Mohammed Sikander www.cranessoftware.com intmain( ) { int arr[] { 5 , 10 , 8 , 2 , 6}; int *ptr = min_element( arr , arr + 5); cout <<"The min element is " << *ptr << endl; cout <<“Min element is at Index " << ptr - arr << endl; }
  • 7.
    Mohammed Sikander www.cranessoftware.com intmain( ) { int arr[] { 5 , 10 , 8 , 2 , 6}; sort( arr , arr + 5); for(int i = 0 ; i < 5 ; i++) cout << arr[i] << endl; char str[] = "CRANES"; sort(str , str + 6); cout << str; }
  • 8.
    Mohammed Sikander www.cranessoftware.com intmain( ) { int arr[] { 5 , 10 , 8 , 2 , 6}; int key = 8; int *ptr = find(arr , arr + 5 , key); if(ptr == arr + 5) cout <<"Element not found "; else cout <<"Element found at index " << ptr - arr; } Find : Returns an pointer to the first element in the range [first,last) that compares equal to value, or last if not found.
  • 9.
    Mohammed Sikander www.cranessoftware.com bool binary_search(ForwardIt first, ForwardIt last,constT &key); int main( ) { int arr[10]; for(int i = 0 ; i < 10 ; i++) cin >> arr[i]; sort(arr , arr + 10); cout <<"Enter the key element to search : "; cin >> key; bool res = binary_search(arr , arr + n , key); cout <<(res ? “Found “ : “Not Found” <<endl; }
  • 10.
    Mohammed Sikander www.cranessoftware.com intmain() { char str[] = "BANGALORE ISTHE CAPITALOF KARNATAKA"; int len = strlen(str); cout << count(str , str + len , 'A'); }
  • 11.
    Mohammed Sikander www.cranessoftware.com intmain( ) { int arr1[] = { 5 , 10 , 8 , 2 , 6}; int arr2[5]; copy(arr1 , arr1 + 5 , arr2); for(int i = 0 ; i < 5 ; i++) cout << arr2[i] <<"t" ; }
  • 12.
    Mohammed Sikander www.cranessoftware.com intmain( ) { int arr[5] ; fill(arr , arr + 5 , 10); for(int i = 0 ; i < 5 ; i++) cout << arr[i] <<"t" ; }
  • 13.
    Mohammed Sikander www.cranessoftware.com boolisprime(int n) { for(int i = 2 ; i < n ; i++) if(n % i == 0) break; return (i==n)?true:false; } int main( ) { int arr[] = {2,3,4,5,6,7,8,9,10,11,12,13,14,15}; int x = count_if(arr , arr + 14 , isprime); cout <<"Total Prime Numbers are " << x << endl; cout <<"Total Even numbers are " << count_if(arr , arr + 14 , iseven) << endl; } bool iseven(int n) { return n % 2 == 0 ? true : false; }
  • 14.
    Mohammed Sikander www.cranessoftware.com intmain() { char str[] = "BANGALORE ISTHE CAPITALOF KARNATAKA"; int len = strlen(str) + 1; remove(str , str + len , 'A'); cout << str; int arr[] = {2,3,4,5,3,7,8,9,3,11,12,3,14,15}; int *pend = remove(arr , arr + 14 , 3); for(int *pbegin = arr ; pbegin != pend ; pbegin++) cout << *pbegin << "t" ; }
  • 15.
    Mohammed Sikander www.cranessoftware.com voidfactorial(int n) { int res = 1; for(int i = 2 ; i <= n ; i++) res *= i; cout <<"Factorial ( "<< n <<" ) " << res << endl; } int main( ) { int arr[] = {1,2,3,4,5,6,7,8}; for_each(arr , arr + 8 , factorial); }
  • 16.
    Mohammed Sikander www.cranessoftware.com voidfactorial(int &n) { int res = 1; for(int i = 2 ; i <= n ; i++) res *= i; n = res; } int main( ) { int arr[] = {1,2,3,4,5,6,7,8}; for_each(arr , arr + 8 , factorial); for(int i = 0 ; i < 8 ; i++) cout << arr[i] << endl; }