#33. Операции с массивами копирование, вставка, удаление и сортировка | Язык C для начинающих

  Рет қаралды 9,937

selfedu

selfedu

Күн бұрын

Практический курс по C/C++: stepik.org/cou...
Телеграм-канал: t.me/java_and_c
Инфо-сайт: proproprogs.ru...
Алгоритмы копирования массивов, вставки значений в произвольный элемент, удаления значения из произвольного элемента и сортировка массива методом вставок.

Пікірлер: 25
@dkwerk2711
@dkwerk2711 Жыл бұрын
Не смотрел данный ролик, но зашел именно на последний, чтобы выразить благодарность за Курсы по ООП пайтон и алгоритмы)
@andredru4278
@andredru4278 8 ай бұрын
Спасибо. Все понятно. Нравится подведение итогов под каждым занятием.
@jamjam3337
@jamjam3337 Жыл бұрын
спасибо!👏👍
@avr_stm_pro2955
@avr_stm_pro2955 Жыл бұрын
спасибо !!!
@trimo1120
@trimo1120 9 ай бұрын
Познавательное видео. Конечно, можно было использовать динамические массивы, а то получается, что последний элемент удаляется при вставке, а так спасибо!
@user-xm5zl9up4r
@user-xm5zl9up4r 7 ай бұрын
спасибо
@stolebyte2104
@stolebyte2104 10 ай бұрын
// Сортировка массива - Метод пузырька #include int main(void) { int ar[]={-3,5,0,-8,1,10}; int size = sizeof(ar)/sizeof(*ar); int t; for (int i=0;ii;--j){ if (ar[j]
@MK-xf9kg
@MK-xf9kg 5 ай бұрын
сдвигаемся влево, рисуя стрелочку вправо....🤔. А так то курс зачетный.
@electronic008
@electronic008 Жыл бұрын
Альтернативный способ копирования элементов массива из одного в другой - при помощи стандартной функции memcpy(). Она работает быстрее, чем цикл for {} Т.е. если массивы не являются строковыми массивами, используйте: memcpy(array2, array1, sizeof(array2)). (Для строк рекомендуемым способом является использование strncpy() )
@selfedu_rus
@selfedu_rus Жыл бұрын
функции strcpy() и strnspy() копируют не весь массив, а только до символа '\0' (включая его)
@electronic008
@electronic008 Жыл бұрын
@@selfedu_rus Функции strcpy() и strnspy() - для строк. А для других значений (числовых), при копировании буфера (массива) вместо цикла for {} можно использовать функцию стандартной библиотеки memcpy() (это альтернативный способ копирования массивов и он работает быстрее)
@user-in9mx5ex9z
@user-in9mx5ex9z Жыл бұрын
Спасибо большое 👍🏻
@electronic008
@electronic008 Жыл бұрын
@@user-in9mx5ex9z С помощью функции memcpy() можно также осуществлять вставку и удаление, то есть не перемещать/копировать значения поэлементно в цикле for() а смещать целыми блоками (блок ОТ и ДО) на нужные позиции. Это работает быстрее можно вставлять/удалять не один элемент, а сразу несколько.
@alex1vere2
@alex1vere2 4 ай бұрын
вправо
@donfedor007
@donfedor007 Жыл бұрын
Доброе время суток! Не надо последний элемент заменить на 0, если не все нули? Ведь он за двоится если такой массив int marks[TOTAL_MARKS] = {1,2,3,4,5,6,7,8,9, 10};
@selfedu_rus
@selfedu_rus Жыл бұрын
нет, не нужно, обычно заводится еще одна переменная, которая хранит число фактически записанных данных в массив
@donfedor007
@donfedor007 Жыл бұрын
@@selfedu_rus спасибо
@electronic008
@electronic008 Жыл бұрын
@@selfedu_rus лучше так, да, с помощью дополнительной переменной-счетчика
@donfedor007
@donfedor007 Жыл бұрын
Нет стандартных функций сортировки? Типа как в питоне sorted?
@selfedu_rus
@selfedu_rus Жыл бұрын
есть, qsort()
@donfedor007
@donfedor007 Жыл бұрын
@@selfedu_rus спасибо, надо будет попробовать
@lindx2533
@lindx2533 Жыл бұрын
а почему бы просто не делать swap?
@electronic008
@electronic008 Жыл бұрын
В C нет стандартной функции для замены двух переменных. Тем более, все равно элементы массива надо сдвигать в цикле. никакой swap() здесь не поможет.
@lindx2533
@lindx2533 Жыл бұрын
@@electronic008 ты можешь её написать .
@electronic008
@electronic008 Жыл бұрын
@@lindx2533 Я к тому, что она там не нужна! там все равно циклический сдвиг нужен. Можно, конечно, и в цикле, ее использовать, но зачем такой огород?
Уроки C++ с нуля / Урок #12 - Структуры
13:20
Гоша Дударь
Рет қаралды 189 М.
МАИНКРАФТ В РЕАЛЬНОЙ ЖИЗНИ!🌍
00:31
⚡️КАН АНДРЕЙ⚡️
Рет қаралды 35 МЛН
АЗАРТНИК 4 |СЕЗОН 3 Серия
30:50
Inter Production
Рет қаралды 862 М.
WILL IT BURST?
00:31
Natan por Aí
Рет қаралды 48 МЛН
Nastya and balloon challenge
00:23
Nastya
Рет қаралды 52 МЛН
Выделение и освобождение динамической памяти в Си
27:39
you will never ask about pointers again after watching this video
8:03
Low Level Learning
Рет қаралды 2,2 МЛН
why do header files even exist?
10:53
Low Level Learning
Рет қаралды 404 М.
Адреса и указатели в Си. Адресная арифметика
27:47
Тимофей Хирьянов
Рет қаралды 163 М.
Двумерные массивы в Си: обычные и динамические
21:49
Тимофей Хирьянов
Рет қаралды 72 М.
МАИНКРАФТ В РЕАЛЬНОЙ ЖИЗНИ!🌍
00:31
⚡️КАН АНДРЕЙ⚡️
Рет қаралды 35 МЛН