Link list in reverse order.
Answers were Sorted based on User's Feedback
/*
the structure is as follows:
struct node
{
int data;
struct node *next;
}
*/
struct node * reverse (struct node *home , struct node *rev)
{
struct node temp , *p;
if(home != NULL)
{
temp = home;
while(temp != NULL)
{
//this part will create a new node with the name p.
p = myalloc;
p -> data = temp -> data;
p -> next = NULL;
if(rev == NULL)
rev = p;
else
{
p -> next = rev;
rev = p;
}
temp = temp -> next;
}
}
return rev;
}
| Is This Answer Correct ? | 5 Yes | 0 No |
Answer / lijun li
#include <stdio.h>
typedef struct list
{
int data;
struct list * next;
} LIST;
LIST* reverse(LIST *head)
{
LIST* temp;
LIST* temp1;
if (head == NULL || head->next == NULL)
return head;
else
{
temp = head->next;
head->next = NULL;
while(temp)
{
temp1 = temp->next;
temp->next = head;
head = temp;
temp = temp1;
}
return head;
}
}
int main(int argc, char ** argv)
{
int i=0;
LIST* head = NULL;
LIST* node = NULL;
int count;
if (argc < 2) printf("usage: a.out <count>");
else count = atoi(argv[1]);
for (i=0;i<count;i++)
{
node = (LIST*)calloc(sizeof(LIST));
node->data = i;
node->next = head;
head = node;
}
node = head;
while(node)
{
printf("before %d\n", node->data);
node = node->next;
}
head = reverse(head);
printf("after head=%d\n", head->data);
node = head;
while(node)
{
printf("after %d\n", node->data);
node = node->next;
}
}
| Is This Answer Correct ? | 6 Yes | 1 No |
Answer / shruti
**Liked list as a stack = linked list in reverse order.
/*
the structure is as follows:
struct node
{
int data;
struct node *next;
}
*/
struct node * reverse (struct node *home , struct node *rev)
{
struct node temp , *p;
if(home != NULL)
{
temp = home;
while(temp != NULL)
{
//this part will create a new node with the name p.
p = myalloc;
p -> data = temp -> data;
p -> next = NULL;
if(rev == NULL)
rev = p;
else
{
p -> next = rev;
rev = p;
}
temp = temp -> next;
}
}
return rev;
}
| Is This Answer Correct ? | 2 Yes | 0 No |
//Go through the code, incase any issues feel free to
revert.
Copying a link list:
//home is the stationary pointer of the main linked list
which is to be copied.
//head is the stationary pointer of the new linked list
which has to be created..
//temp and temp1 are the moving pointers attached to the
respective linked list...
struct node *copy(struct node *home , struct node *head)
{
struct node *temp , *temp1 , *p;
temp = home;
while(temp != NULL)
{
p = (struct node *) malloc (sizeof(struct node));
p -> data = temp -> data;
if(head == NULL)
head = p;
else
{
temp1 = head;
while(temp1 -> next != NULL)
temp1 = temp1 -> next;
temp1 -> next = p;
}
temp = temp -> next;
}
return head;
}
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / ashitosh
node *reverse(node *head)
{ node *p,*q,*r;
p=NULL;
q=head;
r=q->next;
while(q!=NULL)
{
q->next=p;
p=q;
q=r;
if(q!=NULL)
r=q->next;
}
return(p);
}
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / raghuram.a
node *reverse(node *first)
{
node *cur,*temp;
cur=NULL;
while(first!=NULL)
{temp=first;
first=first->link;
temp->link=cur;
cur=temp;
}
return cur;
}
| Is This Answer Correct ? | 5 Yes | 5 No |
Answer / aqib
write a link list program to insert integer number and then
display its sum as well. Your program should display the
address as well as the result
write a program to reverse a link list so that the last
element becomes the first one and so on
copy one link list to another list
| Is This Answer Correct ? | 0 Yes | 2 No |
Answer / sameera.adusumilli
recursive reverse(ptr)
if(ptr->next==NULL)
return ptr;
temp=reverse(ptr->next);
ptr=ptr->next;
return ptr;
end
| Is This Answer Correct ? | 3 Yes | 8 No |
what is the output of the below program & why ? #include<stdio.h> void main() { int a=10,b=20,c=30; printf("%d",scanf("%d%d%d",&a,&b,&c)); }
main() { char s[ ]="man"; int i; for(i=0;s[ i ];i++) printf("\n%c%c%c%c",s[ i ],*(s+i),*(i+s),i[s]); }
write a simple calculator c program to perform addition, subtraction, mul and div.
0 Answers United Healthcare, Virtusa,
‎#define good bad main() { int good=1; int bad=0; printf ("good is:%d",good); }
main() { signed int bit=512, mBit; { mBit = ~bit; bit = bit & ~bit ; printf("%d %d", bit, mBit); } } a. 0, 0 b. 0, 513 c. 512, 0 d. 0, -513
3 Answers HCL, Logical Computers,
How do I write a program to print proper subset of given string . Eg :input: abc output:{},{a},{b},{c},{a,b},{a,c},{b,c}, {a,b,c}.I desperately need this program please mail me to saravana6m@gmail.com
how to test pierrot divisor
How we will connect multiple client ? (without using fork,thread)
how many processes will gate created execution of -------- fork(); fork(); fork(); -------- Please Explain... Thanks in advance..!
How do you sort a Linked List (singly connected) in O(n) please mail to pawan.10k@gmail.com if u can find an anser...i m desperate to knw...
6 Answers Microsoft, MSD, Oracle,
main() { char *a = "Hello "; char *b = "World"; clrscr(); printf("%s", strcat(a,b)); } a. Hello b. Hello World c. HelloWorld d. None of the above
Sorting entire link list using selection sort and insertion sort and calculating their time complexity
1 Answers Infosys, Microsoft, NetApp,