insert at beginning
//Linked List: Inserting a node at beginning #include <stdio.h> #include <stdlib.h> struct Node { int data; struct Node *next; }; struct Node *head; void Insert(int x) { struct Node *temp=(struct Node *)malloc(sizeof(struct Node)); temp->data=x; temp->next=head; head=temp; } void Print() { struct Node *temp=head; printf("List is: "); while(temp!=NULL) { printf(" %d",temp->data); temp=temp->next; } printf("\n"); } int main() { head=NULL; //empty List printf("How many numbers?\n"); int n,x; scanf("%d",&n); for(int i=0;i<n;i++) { printf("Enter the number:\n"); scanf("%d",&x); Insert(x); Print(); } return 0; }
insert at the end
//insert a node at the end #include <stdio.h> #include <stdlib.h> struct Node { int data; struct Node *next; }; struct Node *head; void Print() { struct Node *temp=head; while(temp!=NULL) { printf("%d ",temp->data); temp=temp->next; } printf("\n"); } void Insert(int n) { struct Node *temp1=(struct Node*)malloc(sizeof(struct Node)); temp1->data=n; temp1->next=NULL; struct Node *temp2=head; if(temp2==NULL) { head=temp1; return; } while(temp2->next!=NULL) // not while(temp2!=NULL) { temp2=temp2->next; } temp2->next=temp1; } int main() { head=NULL; //empty list int n; while(1) { printf("enter the number:(0 to quit) "); scanf("%d",&n); if(n==0) break; Insert(n); Print(); } return 0; }
insert node at nth position
#include <stdio.h> #include <stdlib.h> struct Node { int data; struct Node *next; }; struct Node *head; void Print() { struct Node *temp=head; while(temp!=NULL) { printf("%d ",temp->data); temp=temp->next; } printf("\n"); } void Insert(int data,int n) { struct Node *temp1=(struct Node*)malloc(sizeof(struct Node)); temp1->data=data; temp1->next=NULL; if(n==1) { temp1->next=head; head=temp1; return; } struct Node *temp2=head; for(int i=0;i<n-2;i++) { temp2=temp2->next; } temp1->next=temp2->next; temp2->next=temp1; } int main() { head=NULL; //empty list Insert(2,1);//List: 2 Insert(3,2);//List: 2,3 Insert(4,1);//List:4,2,3 Insert(5,2);//List:4,5,2,3 Print(); return 0; }
沒有留言:
張貼留言