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

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





p>

{(pkey == pbeg) / / перевіряється, чи знаходиться видаляється елемент на початку списку

{= pbeg-> next;// Якщо так, то треба скоригувати покажчик pbeg на початок списку так, щоб він вказував на наступний елемент у списку, адреса якого знаходиться в полі next першого елемента> prev=0;// Обнуляється покажчик на попередній елемент

} if (pkey == pend) / / якщо видаляється елемент знаходиться в кінці списку, потрібно змістити покажчик pend кінця списку на попередній елемент, адреса якого можна отримати з поля prev останнього елемента

{= pend-> prev;> next=0;// Обнуляється покажчик на наступний елемент

} / / Якщо видалення відбувається з середини списку, то потрібно лише забезпечити двосторонній зв'язок попереднього і наступного елементів

{

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

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

} pkey; true;

} false;

} * insert (Node * const pbeg, Node * & pend) / / Вставка елемента

{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;// Оновлення покажчика на кінець списку, якщо вузол вставляється в конецpv;

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

} print (Node * pbeg) / / Друк списку

{(pbeg == NULL) cout << «Список порожній!» << endl;

{<< «Список:»; * pv=pbeg;// Pv пробігає за списком, починаючи з голови (pv!=NULL) / / поки не кінець списку, друкувати значення даних поточного вузла

{<< pv-> d << « »;=Pv-> next;// Перейти до наступного вузла

}

} << endl;

} menu () / / Текстове меню

{buf [10]; option;

{<< «=========== МЕНЮ ===========» << endl; << «1 - Додати елемент» << endl; << «2 - Вставити елемент» << endl; << «3 - Видалити елемент» << endl; << «4 - Вивести на екран» << endl; << «5 - Сортувати список» << endl; << «6 - Ввести три послідовності, отримати їх загальні символи» << endl; << «7 - Вихід» << endl; << «Натисніть 1-7 для вибору:»; >> buf;=atoi (buf);

} (! option); option; << « N» << endl;

} relize ()

{k,m,n;*pbeg_s=NULL,*pend_s=NULL;*pbeg_t=NULL,*pend_t=NULL;*pbeg_u=NULL,*pend_u=NULL;&lt;&lt; «Введіть кількість елементів першої послідовності:»; >> k; << «Введіть кількість елементів другому послідовності:»; >> m; << «Введіть кількість елементів третьої послідовності:»;

СIN >> n;

сout << «Введіть 1-ю послідовність:» << endl; (int i=0; i

{(pbeg_s, pend_s);

} << «Введіть 2-ю послідов...


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





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

  • Реферат на тему: Розробка програми для зберігання і виведення списку співробітників і їхні з ...
  • Реферат на тему: Пам'ятки природи, занесені до списку ЮНЕСКО
  • Реферат на тему: Організація списку за допомогою двійкового дерева
  • Реферат на тему: Розробка програми, що реалізує алгоритм двусвязного списку
  • Реферат на тему: Об'єктна реалізація поліморфного контейнера на основі лінійного списку