Advertisement
Ilya_konstantinov

10D1

Dec 7th, 2023 (edited)
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.07 KB | Source Code | 0 0
  1. struct MyVector{
  2.     unsigned size, capacity; // Размер массива и выделенный размер памяти
  3.     int *arr; // Указатель на первыый элемент массива в памяти  
  4. };
  5.  
  6. unsigned pref_size(unsigned n) { // Функция преобразования размера под ближайшую степень двойки
  7.     /* paste your code here */
  8. }
  9.  
  10. void read(MyVector &vec, unsigned n){
  11.     vec.size = // Изменить размер
  12.     vec.capacity = // Изменить размер зарезервированной памяти
  13.     vec.arr = // Выделить память
  14.     for (int i = 0; i < /*переменная*/; ++i) // Считать массив;
  15. }
  16.  
  17. void print(MyVector &vec) {
  18.     for (int i = 0; i < /*переменная*/; ++i) // Вывести массив
  19. }
  20.  
  21. void push_back(MyVector &vec, int x) {
  22.     if (vec.capacity > vec.size){ // Что делать, если место еще есть
  23.         /* paste your code here */
  24.     }
  25.     vec.capacity = // Изменить размер памяти
  26.     int *tmp_arr = // Выделить память под новый массив
  27.     // Скопировать старый массив в новый
  28.     // Вставить нужный элемент в конец и очистить ненужную мамять
  29.     vec.arr = tmp_arr;
  30. }
  31.  
  32. int pop_back(MyVector &vec) { // Удалить последний элемент массива
  33.   // Удалить элемент
  34.   if (vec.capacity >= vec.size * 2) { // Что делать если нужно изменить capasity
  35.     // Изменяем размер
  36.     // Перекопируем
  37.   }
  38. }
  39.  
  40. void del(MyVector& vec) { // Очищение памяти
  41.     /* paste your code here */
  42. }
  43.  
  44. void insert(MyVector &vec, int x, int k) {
  45.     if (vec.capacity <= vec.size) { // Что делать если размер выделенной памяти меньше, чем нужно
  46.         vec.capacity = // Изменить размер памяти
  47.         int *tmp_arr = // Выделить память под новый массив
  48.         // Вставить элемент
  49.         // Скопировать старый массив в новый
  50.         // И очистить память
  51.     } else {
  52.         // Вставить элемент
  53.         // Изменить размер
  54.     }
  55.     return;
  56. }
  57.  
  58. void erase(MyVector &vec, int k) { // Удалить элемент по индексу k
  59.   // Удалить элемент
  60.   if (vec.capacity >= vec.size * 2) { // Что делать если нужно изменить capasity
  61.     // Изменяем размер
  62.     // Перекопируем
  63.   }
  64. }
  65.  
  66. void print_size(MyVector &vec) {
  67.     /* paste your code here */
  68. }
  69.  
  70. int max(MyVector &vec) {
  71.     /* paste your code here */
  72. }
  73.  
  74. int min(MyVector &vec) {
  75.     /* paste your code here */
  76. }
  77.  
  78. long long sum(MyVector &vec) {
  79.     /* paste your code here */
  80. }
  81.  
  82. long double mean(MyVector &vec) {
  83.     /* paste your code here */
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement