Advertisement
Guest User

Untitled

a guest
May 28th, 2015
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. /*
  2. =======================================
  3. Program : Insert and Delete from Linked List
  4. Author : @yus#
  5. Copyright : AyushSrivastav
  6. =======================================
  7. */
  8.  
  9. #include<stdio.h>
  10. #include<conio.h>
  11. #include<stdlib.h>
  12.  
  13. struct Node{
  14. int data;
  15. struct Node* next;
  16. };
  17.  
  18. struct Node* head;
  19.  
  20. void insert(int data,int n);
  21. void print();
  22. void deleted(int n);
  23. void reverse();
  24.  
  25. void main(){
  26. clrscr();
  27. head = NULL;
  28. insert(2,1);//2
  29. insert(4,2);//2,4
  30. insert(6,3);//2,4,6
  31. insert(5,2);//2,5,4,6
  32. print();
  33. deleted(2);//2,4,6
  34. print();
  35. deleted(1);//4,6
  36. print();
  37. insert(10,1);//10,4,6
  38. print();
  39. reverse();
  40. print();
  41. getch();
  42. }
  43. void insert(int data,int n){
  44. struct Node* temp = (struct Node*)malloc(sizeof(struct Node));
  45. (*temp).data = data;
  46. if(n==1){
  47. (*temp).next = head;
  48. head = temp;
  49. return;
  50. }
  51. int i;
  52. struct Node* temp1 = head;
  53. for(i=0;i<n-2;i++){
  54. temp1 = (*temp1).next;
  55. }
  56. (*temp).next = (*temp1).next;
  57. (*temp1).next = temp;
  58. }
  59. void print(){
  60. struct Node* temp = head;
  61. int i;
  62. printf("\nList is :");
  63. while(temp != NULL){
  64. printf("%4d",(*temp).data);
  65. temp = (*temp).next;
  66. }
  67. printf("\n");
  68. }
  69. void deleted(int n){
  70. struct Node* temp = head;
  71. if(n==1){
  72. head = (*temp).next;
  73. free(temp);
  74. return;
  75. }
  76. int i;
  77. for(i=0;i<n-2;i++){
  78. temp = (*temp).next;
  79. }
  80. struct Node* temp2 = (*temp).next;
  81. (*temp).next = (*temp2).next;
  82. free(temp2);
  83. }
  84. void reverse(){
  85. struct Node* current, *prev, *nextNode;
  86. current = head;
  87. prev = NULL;
  88. while(current != NULL){
  89. nextNode = (*current).next;
  90. (*current).next = prev;
  91. prev = current;
  92. current = nextNode;
  93. }
  94. head = prev;
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement