Зв’язний список
Виконуючи лабораторне заняття 4-5, ми вже познайомилися з таким способом зберігання даних, як список (однозв’язний). Реалізуємо зв’язний список засобами С++.
Створимо зв’язний список, що є об’єктом класу linklist. Елементи списку представлені структурою link. Кожен елемент містить ціле число, що являє собою дані, та вказівник на наступний елемент списку. Вказівник на сам список зберігається на початку списку.
Такий список реалізується в програмі 20.19.
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<bios.h>
struct link
{int data;
link* next;
};
class linklist //список
{private:
link* first;
public:
linclist()
{first=NULL;}
void additem(int d);
void display();
};
////////////////////
void linklist::additem(int d)
{link* newlink=new link;
newlink->data=d;
newlink->next=first;
first=newlink;
}
void linklist::display()
{link* current=first;
while(current)
{cout<<current->data<<endl;
current=current->next;
}
}
////////////////
int main()
{clrscr();
linklist l1;
l1.additem(25);
l1.additem(35);
l1.additem(45);
l1.display();
bioskey(0);
return 0;
}
Програма 20.19
Клас linklist містить тільки одне поле: вказівник на початок списку. При створенні списку конструктор ініціалізує цей вказівник, іменований як first, значенням NULL, яке аналогічне значенню 0. Це значення є ознакою того, що вказівник вказує на адресу, яка гарантовано не містить корисної інформації. В нашій програмі елемент, вказівник якого на наступний елемент має значення NULL, є кінцевим елементом списку.
Дата добавления: 2015-08-26; просмотров: 827;