Скачиваний:
3
Добавлен:
01.05.2025
Размер:
362 Кб
Скачать
☆

Лабораторная работа № 13 создание связного списка

Цель работы: научиться создавать связный список

данных типа структура.

Программа работы

1. Описать массив структур или классов, подобный структурам или классам, описанным в лабораторной работе № 12.

2. Записать данные в файл. Прочитать из файла в связный список.

3. Составить программу заполнения связного списка.

4. Вывести список на экран.

5. Вставить в список дополнительную структуру.

6. Вывести на экран измененный список.

7. Ответить на контрольные вопросы.

8. Составить отчет.

Методические указания

Связный список организуется в динамической памяти. Для размещения любого элемента в динамической памяти он должен в своем описании иметь указатели, первый из которых должен содержать адрес предыдущего элемента списка, а второй - адрес следующего элемента списка. Первый и последний элементы должны иметь значение NULL; первый - в указателе с именем "предыдущий", а последний - в указателе "следующий". Ниже приведен пример организации связного списка из данных, читаемых из файла с именем "struct.dat".

Пример связного списка

#include<iostream>

#include<io>

#include<сstdarg>

#include<сstdio>

#include<сstdlib>

#include<fstream>

Using namespace std;

struct b

{

int w;

struct b *p;

};

int main()

{

int n,i,a[100];

struct b *r;

struct b *beg=NULL;

struct b *end=NULL;

ifstream in("struct.dat");

cin>>n; //ввод количества данных, читаемых из файла

for(i=0;i<n;i++)

{

r=(struct b*)malloc(sizeof(struct b));

in>>a[i];

r->w=a[i];

if(end->p==eof)

{

free(r);

break;

}

if(beg==NULL && end==NULL)

beg=r;

else

end->p=r;

end=r;

end->p=NULL;

}

cout<<"\nspisoc:\n";

r=beg;

while(r!=NULL)

{

cout<<"\n"<<r->w;

r=r->p;

}

System(“pause”);

}

Результатом работы программы будут данные, выведенные на экран вертикально.

Контрольные вопросы

1. Какую роль играет указатель this?

2. Какие особенности имеют переменные при описании их ключевым словом static?

3. Назовите способы описания компонентных функций.

4. Как описываются пременные типа class?

5. Для чего используются указатели prev и next?

Варианты заданий

1. Из файла читать данные целого типа и организовать связный список.

2. Описать структуру " студенты группы " и организовать из этих данных связный список.

3. Описать структуру из чисел целого типа, чисел с плавающей точкой и строки символов; создать связный список.

4. Описать структуру из чисел целого типа и чисел с плавающей точкой; организовать связный список.

5. Из файла читать данные с плавающей точкой и создать связный список.

6. Из файла читать слова и организовать из них связный список.

  1. Описать структуру с данными "студент, результаты экзаменов" и создать связный список.

Лабораторная работа № 14

РАБОТА С ФАЙЛОМ, СТРУКТУРАМИ И ОБЪЕДИНЕНИЯМИ ДАННЫХ

Цель работы: научиться писать перегруженные операции записи в файл структур.

Программа работы

1. Описать структуру, в которую входят целые числа, числа с плавающей точкой и строки символов.

2. Написать перегруженную операцию << для записи в файл данных структуры.

3. Описать массив структур и записать их в файл с помощью перегруженной операции <<.

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