0% found this document useful (0 votes)
24 views

Code

The document contains code snippets for various algorithms including palindrome, Fibonacci, Armstrong number, reversing a string and array, checking for prime numbers, finding all divisors, greatest common divisor, subtraction using alternate method, selection sort, bubble sort, insertion sort, merge sort, and quick sort. The code snippets provide implementations of these algorithms using C++.

Uploaded by

kisam78442
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

Code

The document contains code snippets for various algorithms including palindrome, Fibonacci, Armstrong number, reversing a string and array, checking for prime numbers, finding all divisors, greatest common divisor, subtraction using alternate method, selection sort, bubble sort, insertion sort, merge sort, and quick sort. The code snippets provide implementations of these algorithms using C++.

Uploaded by

kisam78442
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 18

Palindrome

#include <iostream>

using namespace std;

int main(){

int n;

cin>>n;

int k=n;

int r;

int sum=0;

while (k>0){

r=k%10;

sum=sum*10+r;

k=k/10;

cout<<sum<<endl;

if (sum==n){

cout<<"Palindrome";

else{

cout<<"No";

return 0;

}
Fibonacci

#include<iostream>

using namespace std;

int fib(int n){

if (n<=1){

return n;

return fib(n-1)+fib(n-2);

int main(){

int n;

cin>>n;

cout<<fib(n);

}
Armstrong

#include <bits/stdc++.h>

using namespace std;

int main(){

int n;

cin>>n;

int h= (int)(log10(n)+1);

int k=n;

int sum=0;

int r;

while(k>0){

r=k%10;

sum=sum+(pow(r,h));

k=k/10;

cout<<sum<<endl;

if (sum==n){

cout<<"Armstrong ";

else{

cout<<"No";

return 0;

}
Reverse string

#include <bits/stdc++.h>

using namespace std;

int main(){

string h;

getline(cin,h);

int n=h.length();

for(int i=0;i<n/2;i++)

swap(h[i],h[n-i-1]);

cout<<h;

Reverse array

#include <bits/stdc++.h>

using namespace std;

int main(){

int n;

cin>>n;

int arr[n];

for(int i=0;i<n;i++)

cin>>arr[i];

for(int i=0;i<n/2;i++)

swap(arr[i],arr[n-i-1]);

for (int i=0;i<n;i++)

cout<<arr[i]<<” “;

}
Prime number

#include <bits/stdc++.h>

using namespace std;

int main(){

int n;

cin>>n;

int count=0;

for (int i=2;i<n/(pow(2,1/2));i++){

if (n%i==0){

count ++;

break;

if (count ==0){

cout << "Prime";

else{

cout<<"Not prime";

return 0;

}
Finding all divisors

#include<bits/stdc++.h>

using namespace std;

int main(){

int n;

cin>>n;

for (int i=1;i<=n/2;i++){

if(n%i==0){

cout<<i<<" ";

cout<<n;

HCF

#include<bits/stdc++.h>

using namespace std;

int main(){

int a,b;

cin>>a;

cin>>b;

int n=min(a,b);

int hcf=1;

for(int i=2;i<=n;i++){
if (a%i==0 && b%i==0){

hcf =i;

cout<<hcf;

Alt subtraction method

#include<bits/stdc++.h>

using namespace std;

int main(){

int a,b;

cin>>a;

cin>>b;

while(a!=b){

if (a>b){

a=a-b;

else{

b=b-a;

cout<<a;

}
Selection sort – find smallest element in array place it in 1st position find smallest element in the
subarray created by removing first elemnt then place it at 2nd position… repeat

#include<bits/stdc++.h>

using namespace std;

int main(){

int n;

cin>>n;

int arr[n];

for (int i=0;i<n;i++){

cin>>arr[i];

int min;

for (int i=0;i<n-1;i++){

min=i;

for(int j=i+1;j<n;j++){

if(arr[j]<arr[min]){

min=j; }

int temp=arr[i];

arr[i]=arr[min];

arr[min]=temp;

for (int i=0;i<n;i++){

cout<<arr[i]<<" ";

}
Bubble sort-repeatedly swap 2 adjacent elements if they are in wrong order after each iteration we will
have our max element in right position we then lessen our sort area to sub array excluding element in
last that has just been sorted

#include <bits/stdc++.h>

using namespace std;

int main(){

int n;

cin>>n;

int arr[n];

for(int i=0;i<n;i++){

cin>>arr[i];

for (int i=0;i<n-1;i++){

for (int j=0;j<n-i-1;j++){

if (arr[j]>arr[j+1]){

swap(arr[j],arr[j+1]);

for(int i=0;i<n;i++){

cout<<arr[i]<<" ";

}
Insertion sort – insert an element from unsorted element to its correct position in sorted array

#include <bits/stdc++.h>

using namespace std;

int main(){

int n;

cin>>n;

int arr[n];

for(int i=0;i<n;i++){

cin>>arr[i];

for (int i=1;i<n;i++){

int current = arr[i];

int j=i-1;

while(arr[j]>current){

arr[j+1]=arr[j];

j--;

arr[j+1]=current;

for(int i=0;i<n;i++){

cout<<arr[i]<<" ";

}
Merge sort – divide and conquer – down into very small elements

#include <bits/stdc++.h>
using namespace std;

void merge(int arr[],int s,int mid,int e){

int n1=mid-s+1;

int n2=e-mid;

//2 temp arrays

int ar1[n1];

int ar2[n2];

int k=s;

//loading values in temp array

for(int i=0;i<n1;i++){

ar1[i]=arr[k];

k++;

k=mid+1;

for(int i=0;i<n2;i++){

ar2[i]=arr[k];

k++;

int i=0;

int j=0;

//comparing values in temp array and putting lowest value in main array

while(i<n1&&j<n2){

if (ar1[i]<ar2[j]){

arr[s]=ar1[i];
i++;

else{

arr[s]=ar2[j];

j++;

s++;

//if 1 of the pointer reaches end the above while loop while close so just putting remaining values in
main array

while(i<n1){

arr[s]=ar1[i];

i++;

s++;

while(j<n2){

arr[s]=ar2[j];

j++;

s++;

void mergesort(int arr[],int s,int e){

if(s<e){

int mid =(s+e)/2;


mergesort(arr,s,mid);

mergesort(arr,mid+1,e);

merge(arr,s,mid,e);

int main(){

int n;

cin>>n;

int arr[n];

for(int i=0;i<n;i++){

cin>>arr[i];

mergesort(arr,0,n-1);

for(int i=0;i<n;i++){

cout<<arr[i]<<" ";

Quick sort- divide and conquer but in each iteration we putting one element in right place and adjusting
remaining elements around it

#include <bits/stdc++.h>

using namespace std;


int partition(int arr[],int l,int r){

int pivot=arr[r];

int i=l-1;

for(int j=l;j<r;j++){

if (arr[j]<pivot){

i++;

swap(arr[i],arr[j]);

swap(arr[i+1],arr[r]);

return i+1;

void quicksort(int arr[],int l,int r){

if (l<r){

int p=partition(arr,l,r);

quicksort(arr,l,p-1);

quicksort(arr,p+1,r);

int main(){

int n;
cin>>n;

int arr[n];

for(int i=0;i<n;i++){

cin>>arr[i];

quicksort(arr,0,n-1);

for(int i=0;i<n;i++){

cout<<arr[i]<<" ";

You might also like