Program to Delete an element from a doubly linked list.
Answers were Sorted based on User's Feedback
Answer / splurgeop
// assumin all things are given function to delete
from beginning.....
int delete_from_beg()
{
int el;
if(head==NULL)
{
printf("\n can't delete ");
return -1;
}
else
{
struct doubly *temp;
temp=head;
el=temp->info;
head=temp->next;
temp->next=NULL;
head->prev=NULL;
return el;
}
}
//delete from end
int delete_from_end()
{
int el;
if(head==NULL)
{
printf("\n can't delete");
return -1;
}
else
{
struct doubly *temp;
temp=head;
while(temp->next!=NULL)
temp=temp->next;
el=temp->info;
if(temp==head)
head=NULL;
else
temp->prev->next=NULL;
return el;
}
}
// delete from any position
int delete_at_pos(int item)
{
int el,flag=0;
struct doubly *temp;
if(head==NULL)
{
printf("\n cant delete ");
return -1;
}
else
{
temp=head;
while(item>1)
{
item--;
temp=temp->next;
if(temp==NULL&& item>=1)
{
flag=1;
break;
}
}
if(flag==1)
{
el=-1;
printf("\n cant delete at the specified
location");
}
else
{
if(temp==head)
{
el=temp->info;
head=temp->next;
}
else
{
struct doubly *t;
t=temp;
el=temp->info;
temp->prev->next=t->next;
temp->next->prev=t->prev;
}
}
}
return el;
}
// where doubly is structure
struct doubly
{
int data;
struct doubly *prev,*next;
};
| Is This Answer Correct ? | 34 Yes | 9 No |
Answer / viktor
typedef int info_t;
typedef struct element
{
info_t info;
struct element *next;
struct element *prev;
}node;
typedef node* nodep;
Function to delete a node:
void del_node(nodep p)
{
(p->prev)->next=p->next;
(p->next)->prev=p->prev;
free(p);
}
| Is This Answer Correct ? | 20 Yes | 9 No |
Answer / shruti
to delete an element.
enter the position of the element to be deleted.
-> pos.
structure of node is
struct node
{
int data;
struct node *prev , *next;
}
//home is the starting pointer of hte list.
struct node * delete(struct node *home , int pos)
{
temp = home;
if(pos == 1)
{
temp = home;
home = home -> next;
free(temp);
}
temp = home;
p = home;
for(i = 0 ; i < pos ; i++)
{
p = p -> next;
}
temp = p -> next;
temp1 = temp -> next;
p -> next = temp1;
temp1 -> prev = p
free(temp);
}
return home;
}
| Is This Answer Correct ? | 9 Yes | 5 No |
main() { char *p; p="%d\n"; p++; p++; printf(p-2,300); }
Sir... please give some important coding questions asked by product companies..
void main() { void *v; int integer=2; int *i=&integer; v=i; printf("%d",(int*)*v); }
Write a program that find and print how many odd numbers in a binary tree
main() { register int a=2; printf("Address of a = %d",&a); printf("Value of a = %d",a); }
what is variable length argument list?
main() { int i=3; switch(i) { default:printf("zero"); case 1: printf("one"); break; case 2:printf("two"); break; case 3: printf("three"); break; } }
Write a procedure to implement highlight as a blinking operation
why do you use macros? Explain a situation where you had to incorporate macros in your proc report? use a simple instream data example with code ?
find simple interest & compund interest
int a = 10 + 10 .... ,... A = A * A What would be the value of A? The answer is 120!! Could anyone explain this to me.
2 Answers Bosch, eInfochips, HCL, IHCL,
Which one is taking more time and why ? :/home/amaresh/Testing# cat time.c //#include <stdio.h> #define EOF -1 int main() { register int c; while ((c = getchar()) != EOF) { putchar(c); } return 0; } ------------------- WIth stdio.h:- :/home/amaresh/Testing# time ./time_header hi hi hru? hru? real 0 m4.202s user 0 m0.000s sys 0 m0.004s ------------------ Witout stdio.h and with #define EOF -1 =================== /home/amaresh/Testing# time ./time_EOF hi hi hru? hru? real 0 m4.805s user 0 m0.004s sys 0 m0.004s -- From above two case , why 2nd case is taking more time ?