//insert at eneterd position
bool single_linked_list::insert_at_pos(int input_pos , int element)
{
node* temp_node = first_node;
node* prev_node;
bool status = true;
if(input_pos == 1)
{
insert_at_first(element);
}
else if(input_pos == no_of_elements() +1 )
{
insert_at_end(element);
}
else if( input_pos > 1 && input_pos <= no_of_elements())
{
node* new_node = new node();
new_node->data = element;
for(int i = 0 ; i< input_pos-1 ; i++)
{
prev_node = temp_node;
temp_node = temp_node->link;
}
new_node->link = temp_node;
prev_node->link = new_node;
}
else
{
printf(" Invalid position \n");
status = false;
}
return status;
}
No comments:
Post a Comment