Advertisement
Niloy007

Data Code

Feb 17th, 2020
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.92 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. struct node {
  5.     int data;
  6.     struct node *next;
  7. };
  8.  
  9. typedef struct node Node;
  10.  
  11. void display(Node *start) {
  12.     Node *temp;
  13.     temp = start;
  14.  
  15.     while(temp != NULL) {
  16.         cout << temp->data << " ";
  17.         temp = temp->next;
  18.     }
  19. }
  20.  
  21. void odd(Node *start) {
  22.     Node *temp;
  23.     temp = start;
  24.     printf("\nOdd Numbers: ");
  25.     while(temp != NULL) {
  26.         int flag = temp->data;
  27.         if((flag % 2) != 0) {
  28.             printf("%d ", flag);
  29.         }
  30.         temp = temp->next;
  31.     }
  32.     printf("\n");
  33. }
  34.  
  35.  
  36.  
  37. void even(Node *start) {
  38.     Node *temp;
  39.     temp = start;
  40.     printf("\nEven Numbers: ");
  41.     while(temp != NULL) {
  42.         int flag = temp->data;
  43.         if((flag % 2) == 0) {
  44.             printf("%d ", flag);
  45.         }
  46.         temp = temp->next;
  47.     }
  48.     printf("\n");
  49. }
  50.  
  51.  
  52. void max(Node *start) {
  53.     Node *temp;
  54.     temp = start;
  55.     printf("\nMaximum Number is: ");
  56.     int max = -1;
  57.     while(temp != NULL) {
  58.         int flag = temp->data;
  59.         if(max < flag) {
  60.             max = flag;
  61.         }
  62.         temp = temp->next;
  63.     }
  64.     printf("%d", max);
  65. }
  66.  
  67.  
  68. void min(Node *start) {
  69.     Node *temp;
  70.     temp = start;
  71.     printf("\nMinimum Number is: ");
  72.     int min = INT_MAX / 2;
  73.     while(temp != NULL) {
  74.         int flag = temp->data;
  75.         if(min > flag) {
  76.             min = flag;
  77.         }
  78.         temp = temp->next;
  79.     }
  80.     printf("%d", min);
  81. }
  82.  
  83.  
  84. void linearSearch(Node *start, int choice) {
  85.     Node *temp;
  86.     temp = start;
  87.     int flag = 0;
  88.     while(temp != NULL) {
  89.         if(temp->data == choice) {
  90.             flag = 1;
  91.         }
  92.         temp = temp->next;
  93.     }
  94.     if(flag == 1) {
  95.         cout << "Found!!" << endl;
  96.     } else {
  97.         cout << "Not Found!!" << endl;
  98.     }
  99. }
  100.  
  101. void length(Node *start) {
  102.     Node *temp;
  103.     temp = start;
  104.     int length = 0;
  105.     while(temp != NULL) {
  106.         length++;
  107.         temp = temp->next;
  108.     }
  109.     printf("\nLength is: %d", length);
  110. }
  111.  
  112.  
  113. void sum(Node *start) {
  114.     Node *temp;
  115.     temp = start;
  116.     int sum = 0;
  117.     while(temp != NULL) {
  118.         int flag = temp->data;
  119.         sum += flag;
  120.         temp = temp->next;
  121.     }
  122.     printf("\nSum is: %d", sum);
  123. }
  124.  
  125.  
  126. Node *deleteNumber(Node *start, int number) {
  127.     Node *temp, *flag;
  128.     temp = start;
  129.     flag = new Node();
  130.  
  131.     while(temp != NULL) {
  132.         int a = temp->data;
  133.         if(a == number) {
  134.             flag = temp;
  135.             break;
  136.         }
  137.         temp = temp->next;
  138.     }
  139.     temp = start;
  140.  
  141.     if(temp->data == number) {
  142.         start = start->next;
  143.     } else {
  144.         while (temp->next->data != number) {
  145.             temp = temp->next;
  146.         }
  147.         temp->next = flag->next;
  148.         //start = temp;
  149.     }
  150.     return start;
  151. }
  152.  
  153.  
  154.  
  155. int main() {
  156.     Node *start, *temp, *last;
  157.     start = NULL;
  158.     int ans;
  159.     int choice, number;
  160.  
  161.     cout << "Do you want to add item?\n";
  162.     cin >> ans;
  163.  
  164.     while(ans == 1) {
  165.  
  166.         if(start == NULL) {
  167.             start = new node();
  168.             printf("Enter data\n");
  169.             scanf("%d", &start->data);
  170.             start->next = NULL;
  171.             last = start;
  172.         } else {
  173.             temp = new Node();
  174.             printf("Enter data: ");
  175.             scanf("%d", &temp->data);
  176.             temp->next = NULL;
  177.             last->next = temp;
  178.             last = temp;
  179.         }
  180.         cout << "Do you want to add item?\n";
  181.         cin >> ans;
  182.     }
  183.  
  184.     display(start);
  185.     odd(start);
  186.     even(start);
  187.     max(start);
  188.     min(start);
  189.     printf("\nPlease Enter the number you want to search\n");
  190.     scanf("%d", &choice);
  191.     linearSearch(start, choice);
  192.     length(start);
  193.     sum(start);
  194.  
  195.     display(start);
  196.     printf("\nPlease Enter a number for delete the node: \n");
  197.     scanf("%d", &number);
  198.     start = deleteNumber(start, number);
  199.     display(start);
  200. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement