Advertisement
Guest User

Untitled

a guest
Dec 12th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.51 KB | None | 0 0
  1. #include<stdio.h>
  2. struct node
  3. {
  4. struct node *prev;
  5. int value;
  6. struct node *next;
  7. }*head,*last;
  8.  
  9. void insert_first(int data)
  10. {
  11. struct node *newitem,*temp;
  12. newitem=(struct node*)malloc(sizeof(struct node));
  13. temp=(struct node*)malloc(sizeof(struct node));
  14. newitem->prev=NULL;
  15. newitem->value=data;
  16. newitem->next=NULL;
  17. if(head==NULL)
  18. {
  19. head=newitem;
  20. head->prev=NULL;
  21. head->next=NULL;
  22. last=newitem;
  23. }
  24. else
  25. {
  26. temp=newitem;
  27. temp->prev=NULL;
  28. temp->next=head;
  29. head->prev=temp;
  30. head=temp;
  31. }
  32.  
  33. }
  34. void insert_last(int data)
  35. {
  36. struct node *newitem,*temp;
  37. newitem=(struct node*)malloc(sizeof(struct node));
  38. temp=(struct node*)malloc(sizeof(struct node));
  39. newitem->prev=NULL;
  40. newitem->value=data;
  41. newitem->next=NULL;
  42. if(head==NULL)
  43. {
  44. head=newitem;
  45. head->prev=NULL;
  46. head->next=NULL;
  47. last=newitem;
  48. }
  49. else
  50. {
  51. temp=head;
  52. while(temp->next!=NULL)
  53. {
  54. temp=temp->next;
  55. }
  56. temp->next=newitem;
  57. newitem->prev=temp;
  58. last=newitem;
  59. }
  60.  
  61. }
  62. void insert_middle(int data,int ioc)
  63. {
  64.  
  65. }
  66. void deleteitem(int data)
  67. {
  68.  
  69. }
  70. void display()
  71. {
  72. struct node *temp;
  73. temp=(struct node*)malloc(sizeof(struct node));
  74. temp=head;
  75. while(temp!=NULL)
  76. {
  77. printf("%d ",temp->value);
  78. temp=temp->next;
  79. }
  80. printf("\n");
  81. }
  82. int count()
  83. {
  84. int c=0;
  85. struct node *temp;
  86. temp=(struct node*)malloc(sizeof(struct node));
  87. temp=head;
  88. while(temp!=NULL)
  89. {
  90. c++;
  91. temp=temp->next;
  92. }
  93. return c;
  94. }
  95. void sort()
  96. {
  97.  
  98. }
  99. void reverse()
  100. {
  101.  
  102. }
  103. void sum()
  104. {
  105.  
  106. }
  107. void menu()
  108. {
  109. printf("option\n");
  110. printf("=======\n");
  111. printf("1.insert at first\n");
  112. printf("2.insert at end\n");
  113. printf("3.insert at middle\n");
  114. printf("4.display\n");
  115. printf("5.delete\n");
  116. printf("6.count\n");
  117. printf("7.sort\n");
  118. printf("8.reverse\n");
  119. printf("9.sum\n");
  120. printf("10.exit\n");
  121. printf("enter your choice ");
  122. }
  123. int main()
  124. {
  125. int i,num,ioc;
  126. while(1)
  127. {
  128. menu();
  129. scanf("%d",&i);
  130. switch(i)
  131. {
  132. case 1:
  133. printf("enter number ");
  134. scanf("%d",&num);
  135. insert_first(num);
  136. display();
  137. break;
  138. case 2:
  139. printf("enter number ");
  140. scanf("%d",&num);
  141. insert_last(num);
  142. display();
  143. break;
  144. case 3:
  145. printf("after which number do you want to insert\n");
  146. scanf("%d",&ioc);
  147. printf("enter the number to be inserted\n");
  148. scanf("%d",&num);
  149. insert_middle(num,ioc);
  150. display();
  151. break;
  152. case 4:
  153. display();
  154. break;
  155. case 5:
  156. printf("enter number to be deleted ");
  157. scanf("%d",&num);
  158. deleteitem(num);
  159. display();
  160. break;
  161. case 6:
  162. printf("element number is %d\n",count());
  163. break;
  164. case 7:
  165. sort();
  166. display();
  167. case 8:
  168. reverse();
  169. break;
  170. case 9:
  171. sum();
  172. break;
  173. case 10:
  174. return 0;
  175. }
  176. }
  177. return 0;
  178. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement