Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zapitannya_do_Informatiki.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
141.69 Кб
Скачать
  1. Динамічні структури типу двонаправлений список.

Обробка однанаправленого списку не завжди зручна, оскільки відсутня можливість просування в протилежну сторону. Таку можливість забезпечує двонаправлений список, кожен елемент якого містить два покажчики: на наступний і попередній елементи списку. Структура лінійного двонаправленого списку приведена на рис. 1.2, де поле NEXT - покажчик на наступний елемент, поле PREV - покажчик на попередній елемент. У крайніх елементах відповідні покажчики повинні містити null, як і показано на рис. 1.2.

Ріс.1.2. Структура двонаправленого списку

Для зручності обробки списку додають ще один особливий елемент - покажчик кінця списку. Наявність двох покажчиків в кожному елементі ускладнює список і приводить до додаткових витрат пам'яті, але в той же час забезпечує ефективніше виконання деяких операцій над списком.

  1. Сортування масивів із використанням вказівників.

За допомогою вказівників можна також передавати масиви. В цьому випадку розробники програм часто використовують функцію sizeof. З цією метою добре б знати арифметичні операції, які прийняті в С і здійснюються в циклічних структурах. Вказівник може бути інкрементований (++), декрементований (--), до вказівника може бути прибавлене ціле число (+ або +=) і з вказівника може бути відняте ціле число (- або -=). Для пояснення припустимо, що ми маємо справу із вказівником типу int, під який резервується 4 байти. Нехай вказівник yPtr приймає значення адреси пам’яті 3000. Тоді оператор yPtr +=2 дасть результат: 3000+2*4=3008. Дії ++yPtr або yPtr++  та -- yPtr або yPtr -- при застосуванні в масивах будуть давати можливість вказівнику отримувати значення пам’яті на наступний і попередній елементи масиву. Якщо ми маємо масив b[10] теж типу int, наприклад, то вказівник bPtr[1] буде вказувати на 1-ий елемент масиву b. Аналогічно можна виявити дії інших згаданих арифметичних операцій. Масиви також можуть складатися із вказівників, які часто можуть утворювати масив символьних лінійок. 

37

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]