Advertisement
Guest User

Untitled

a guest
Jul 26th, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. //
  2. // Created by shreenath on 24/7/16.
  3. //
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6.  
  7. struct node
  8. {
  9. int data;
  10. struct node* link;
  11. }*head;
  12.  
  13. struct node *head=NULL;
  14.  
  15. void insertFront(int insertData)
  16. {
  17. struct node *temp=(struct node*)malloc(sizeof(struct node));
  18. temp->data=insertData;
  19. temp->link=head->link;
  20. head=temp;
  21. printf("\nNode Added at Front : Data = %d",head->data);
  22. }
  23.  
  24. void insertMiddle(int insertData, int key)
  25. {
  26. struct node *temp=(struct node*)malloc(sizeof(struct node));
  27. struct node *pre=(struct node*)malloc(sizeof(struct node));
  28. temp->data=insertData;
  29. pre=head;
  30. while(pre->data!=key)
  31. pre=pre->link;
  32. temp->link=pre->link;
  33. pre->link=temp;
  34. printf("\nNode Added at Middle : Data = %d",temp->data);
  35. }
  36.  
  37. void insertLast(int insertData)
  38. {
  39. struct node *temp=(struct node*)malloc(sizeof(struct node));
  40. struct node *pre=(struct node*)malloc(sizeof(struct node));
  41. temp->data=insertData;
  42. pre=head;
  43. while(pre->link!=NULL)
  44. pre=pre->link;
  45. pre->link=temp;
  46. temp->link=NULL;
  47. printf("\nNode Added at Last : Data = %d",temp->data);
  48. }
  49.  
  50. void traversal()
  51. {
  52. struct node *pre=(struct node*)malloc(sizeof(struct node));
  53. int i;i=0;
  54. pre=head;
  55. printf("\nLinked List Traversal");
  56. while(pre->link!=NULL)
  57. {
  58. printf("Node %d - %d\n",i,pre->data);
  59. pre=pre->link;
  60. i++;
  61. }
  62. }
  63.  
  64. void main()
  65. {
  66. int ch,key;
  67. int newdata;
  68. printf("1. Insertion at Front"
  69. "\n2. Insertion at Middle"
  70. "\n3. Insertion at Last"
  71. "\n4. Traversal"
  72. "\n5. Exit");
  73. do
  74. {
  75. printf("\nEnter your Choice: ");
  76. scanf("%d",&ch);
  77. switch(ch)
  78. {
  79. case 1: printf("\nEnter Data: ");
  80. scanf("%d",&newdata);
  81. insertFront(newdata);
  82. break;
  83. case 2: printf("\nEnter Data and Key: ");
  84. scanf("%d,%d",&newdata,&key);
  85. insertMiddle(newdata,key);
  86. break;
  87. case 3: printf("\nEnter Data: ");
  88. scanf("%d",&newdata);
  89. insertLast(newdata);
  90. break;
  91. case 4: traversal();
  92. break;
  93. case 5: printf("\nThank You");
  94. break;
  95. default: printf("\nInvalid Entry! Re-Enter");
  96. }
  97. }while(ch!=5);
  98.  
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement