Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Зберігання та обробка даних з використанням лінійних списків

Реферат Зберігання та обробка даних з використанням лінійних списків





чик на знайдений елемент, тому буде мати тип значення Node. Вкачестве параметрів функції слід передати укзатель початку списку і шуканий елемент. Прототипомип функції пошуку:

* find (Node * const pbeg, char d)


Функція повинна пройти за списком, починаючи з голови, і перевірити збіг елемента, переданого як параметр, з кожним його елементом. Якщо виявиться збіг, необхідно повернути покажчик на знайдений елемент. Код:

* pv=pbeg; (pv)

{(pv-> d == d) break;=pv-> next;

} pv;

Видалення елемента.


У разі успішного видалення елкмента функція буде повертати значення «істина», у разі невдалого - «брехня», тому в якості типу значення, що повертається встановимо bool. Bool - логічний тип даних. Змінні цього типу можуть приймати тільки значення true або false. [6] У тілі функції організуємо введення елемента, який буде видалений, пошук цього елемента за списком і відповідну кооректіровку покажчиків, залежно від того, з якої частини списку буде видалений елемент. Якщо видалення відбувається з початку списку, слід вказівником голови привласнити адресу наступного елемента; якщо з середини - покажчики next майбутнього елемента і prev наступного змінити так, щоб ці елементи вказували один на одного; якщо з кінця списку - змістити покажчик хвоста на попередній елемент.

key; << «Введіть елемент, який потрібно видалити:»; >> key; (Node * pkey=find (pbeg, key))

{(pkey == pbeg) / / Видалення з початку

{= pbeg-> next;> prev=0;

} if (pkey == pend) / / Видалення з кінця

{= pend-> prev;> next=0

} / / Видалення з середини

{

(pkey-> prev) -> next=pkey-> next;

(pkey-> next) -> prev=pkey-> prev;

} pkey; true;

} false;


Вставка елемента.

У тілі функції ставки потрібно організувати введення двох елементів - того, який необхідно вставити, і того, після якого необхідно вставити. Потім доцільно провести пошук елемента, після якого буде проведена вставка, і якщо такого елемента немає - вивести відповідне значення. Якщо вставка можлива, необхідно покажчики next майбутнього і prev наступного елементів скорегувати так, щоб вони вказували на вставляється елемент. Якщо елемент вставляється в кінець списку, необхідно оновити покажчик хвоста.

d, key; << «Введіть вставляється елемент:»; >> d; << «Введіть елемент, після якого буде вставлений новий:»; >> key; (Node * pkey=find (pbeg, key))

{* pv=new Node;> d=d;> next=pkey-> next ;/ / встановлення зв'язку нового вузла з наступним> prev=pkey ;/ / встановлення зв'язку нового вузла з попереднім> next=pv ;/ / встановлення зв'язку попереднього вузла з новим (pkey!=pend) (pv-> next) -> prev=pv ;/ / встановлення зв'язку подальшого вузла з новимpend=pv ;/ / оновлення покажчика на кінець списку

} cout << «Неможливо вставити після цього елементу!» << endl;

Виведення на екран.

Реалізація даної функції досить проста. Якщо покажчик початку списку не порожній, необхідно з...


Назад | сторінка 6 з 11 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Сутність, функції і роль банків, як елемента банківської системи
  • Реферат на тему: Прикладне додаток &Розробка проекту для створення нового класу Auto і елеме ...
  • Реферат на тему: Методика визначення елемента циклону
  • Реферат на тему: Визначення елемента витрат з оплати праці
  • Реферат на тему: Відновлення справності елемента енергетичної установки