#include <iostream>
using namespace std;
struct node
{
int data ;
node* next;
};
node* head;
void insert(int x)
{ node * temp=new node();
temp->data=x;
node*temp2=head;
if(head==NULL)
{
head =temp;
temp->next=NULL;
}
else
{ while(temp2->next!=NULL)
temp2=temp2->next;
temp2->next=temp;
temp->next=NULL;
}
}
void del()
{ node*temp2=head;
if(head==NULL)
cout<<"Linked is empty"<<endl;
else
while(temp2->next->next!=NULL)
temp2=temp2->next;
temp2->next=NULL;
}
void show()
{ node*temp1=head;
while(temp1!=NULL)
{cout<<temp1->data<<"->";
temp1=temp1->next;
}
cout<<"NULL"<<endl;
}
int main()
{head=NULL;
char ch='y';int n;
int x;
while(ch=='y'||ch=='Y')
{
cout<<"Enter 1 for insertion"<<endl;
cout<<"Enter 2 for deletion"<<endl;
cin>>n;
switch (n)
{ case 1 : cout<<"Enter data:";
cin>>x;
insert (x);
break;
case 2 : del();
break;
}
cout<<"The linked list is:"<<endl;
show();
cout<<"Do you want to continue operation y/n"<<endl;
cin>>ch;
}
}
A blog which has various codes and other descriptions from all fields of Computer Science and other domains.
Monday 21 September 2015
Linked list insertion and deletion at end
Wednesday 16 September 2015
Doubly linked list
#include <iostream>
using namespace std;
struct node
{
int data;
node* next;
node* previous;
};
node* head;
void insert(int x)
{
node* temp=new node();
temp->data=x;
if(head==NULL)
{
head=temp;
head->next=NULL;
head->previous=NULL;
}
else
temp->next=head;
head->previous=temp;
head=temp;
}
void showstart()
{
node* temp1=head;
while(temp1!=NULL)
{
cout<<temp1->data<<"->";
temp1=temp1->next;
}
cout<<"NULL"<<endl;
}
void showend()
{
node* temp2=head;
while(temp2->next!=NULL)
{
temp2=temp2->next;
}
while(temp2!=head)
{
cout<<temp2->data<<"->";
temp2=temp2->previous;
}
cout<<head->data;
}
int main()
{
head=NULL;
int n,x;
cout<<"How many elements do you want to enter?"<<endl;
cin>>n;
while(n--)
{
cout<<"Enter data :";
cin>>x;
insert(x);
}
cout<<"Doubly linked list from the start is :"<<endl;
showstart();
cout<<"Doubly linked list from the end is:"<<endl;
showend();
}
Tuesday 15 September 2015
Queue implementation using linked list.
#include <iostream>
using namespace std;
struct queue
{
int data;
queue* next;
};
queue* front;
queue* rear;
void enqueue(int x)
{
queue* temp= new queue();
temp->data=x;
if(front==NULL)
{
front=temp;
rear=temp;
rear->next=NULL;
}
else
{
temp->next=front;
front=temp;
}
}
void dequeue()
{
if(rear==NULL||front->next==NULL)
{ cout<<"Queue is empty"<<endl;
front=NULL;
}
else
{
queue* temp1;
temp1=front;
while(temp1->next!=rear)
{
temp1=temp1->next;
}
rear=temp1;
rear->next=NULL;
}
}
void display()
{cout<<"The queue is:";
queue* temp2=front;
while (temp2!=NULL)
{
cout<<temp2->data<<"->";
temp2=temp2->next;
}
cout<<"NULL"<<endl;
}
int main()
{ int n,x;
front=NULL;
rear=NULL;
char ch='y';
while(ch=='y'||ch=='Y')
{
cout<<"1.To insert an element in the queue."<<endl;
cout<<"2.To delete an element from the queue."<<endl;
cin>>n;
switch(n)
{
case 1 : cout<<"Enter Data:";
cin>>x;
enqueue(x);
break;
case 2: dequeue();
break;
}
display();
cout<<"Do you want to continue operation?y/n"<<endl;
cin>>ch;
}
return 0;
}
Sunday 9 August 2015
Selection sort using c++
# include<iostream>
using namespace std;
int main()
{ int n,min,i,j,k,temp;
cout<<"Enter the size of array";
cin>>n;
int a[n];
cout<<"Enter the elements of array";
for(i=0;i<n;i++)
cin>>a[i];
for(j=0;j<n-1;j++)
{
min=j;
for(k=j+1;k<n;k++)
{
if(a[k]<a[min])
min=k;
}
temp=a[min];
a[min]=a[j];
a[j]=temp;
}
cout<<"The sorted array by selection sort is";
for(i=0;i<n;i++)
cout<<a[i]<<endl;
}
Saturday 8 August 2015
Linear search using c++
#include<iostream>
using namespace std;
int lsearch(int a[],int n,int x)
{ int i;
for(i=0;i<n;i++)
{ if(a[i]==x)
return i;
}
return -1;
}
int main()
{
int n,x,i;
int a[n];
cout<<"Enter the size of array";
cin>>n;
cout<<"Enter the elements of array";
for(i=0;i<n;i++)
cin>>a[i];
cout<<"The array you entered is";
for(i=0;i<n;i++)
cout<<a[i]<<endl;
cout<<"Enter the Element you want to find";
cin>>x;
int t=lsearch(a,n,x);
if(t==-1)
cout<<"Element does not exist in the array";
else
{cout<<"The element exists at index";
cout<<t;
}
}
Binary search code in C++
#include<iostream>
using namespace std;
int bsearch(int a[],int n,int x)
{ int start =0;
int end= n-1;int mid;
while(start<=end)
{
mid =(start+end)/2;
if(a[mid]==x)
{
cout<<"element found at index";
return mid;
}
else if(x<a[mid])
end=mid-1;
else
start=mid+1;
}
return -1;
}
int main()
{
int n,x,i;
int a[n];
cout<<"Enter the size of array";
cin>>n;
cout<<"Enter the elements of array in"
<<" ascending order";
for(i=0;i<n;i++)
cin>>a[i];
cout<<"The array you entered is";
for(i=0;i<n;i++)
cout<<a[i]<<endl;
cout<<"Enter the Element you want to find";
cin>>x;
int t=bsearch(a,n,x);
if(t==-1)
cout<<"Element does not exist in the array";
else
{cout<<"The element exists at index";
cout<<t;
}
}