_rashed

ordered list

Jul 31st, 2025
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.49 KB | None | 0 0
  1. #include <iostream>
  2. #define list_size 5
  3.  
  4. using namespace std;
  5.  
  6. struct list {
  7.     int length = 0;
  8.     int items[list_size];
  9. };
  10.  
  11. void insert(struct list *ls, int value) {
  12.     int i;
  13.     for(i = ls->length-1; i >= 0 && ls->items[i] > value; i--) {
  14.         ls->items[i+1] = ls->items[i];
  15.     }
  16.     ls->items[i+1] = value;
  17.     ls->length++;
  18. }
  19.  
  20. void print_all(struct list *ls) {
  21.     cout << "Printing all elements: ";
  22.     for(int i = 0; i < ls->length; i++) {
  23.         cout << ls->items[i] << " ";
  24.     }
  25.     cout << "\n";
  26. }
  27.  
  28. int get(struct list *ls, int index) {
  29.     return ls->items[index];
  30. }
  31.  
  32. int search(struct list *ls, int value) {
  33.     int left = 0;
  34.     int right = ls->length-1;
  35.     while(left <= right) {
  36.         int mid = (left+right)/2;
  37.         if(ls->items[mid] == value) {
  38.             // Found the item
  39.             return mid;
  40.         }
  41.         else if(ls->items[mid] < value) {
  42.             left = mid+1;
  43.         }
  44.         else {
  45.             right = mid-1;
  46.         }
  47.     }
  48.     return -1;
  49. }
  50.  
  51. void delete_item(struct list *ls, int index) {
  52.     for(int i = index+1; i < ls->length; i++) {
  53.         ls->items[i-1] = ls->items[i];
  54.     }
  55.     ls->length--;
  56. }
  57.  
  58.  
  59.  
  60. int main()
  61. {
  62.     list myList;
  63.  
  64.     insert(&myList, 5);
  65.     insert(&myList, 3);
  66.     insert(&myList, 7);
  67.  
  68.     print_all(&myList);
  69.  
  70.     int index = search(&myList, 5);
  71.     cout << "Found 5 at index: " << index << "\n";
  72.     delete_item(&myList, index);
  73.  
  74.     print_all(&myList);
  75.     return 0;
  76. }
  77.  
Advertisement
Add Comment
Please, Sign In to add comment