Студенческий портал

admin@studynote.ru
/ Регистрация
X
Помощь студенту > Готовые работы > Другие типы работ > Информатика > Информационные динамические структуры

Тема работы: Информационные динамические структуры

100 рублей
Купить

или

Заказать новую работу

Более 20 способов оплатить! После оплаты вы получаете ссылку на скачивание. Гарантия на - 3 дня. Исключительно в ознакомительных целях! Все вопросы admin@studynote.ru

  • Общая информация
  • Описание работы
  • Дополнительная информация

    (фрагменты работы)

Учебное заведение:Другие города > Вузы города Пермь > Пермский государственный технический университет
Тип работы:Другие типы работ
Категория:Информатика, Программирование
Год сдачи:2015
Количество страниц:11
Оценка:5
Рейтинг работы:

1.  «Информационные динамические структуры»

 

Цель: Знакомство с динамическими
информационными структурами на примере одно- и двунаправленных списков.

 

2.  Постановка задачи

 

Написать
программу, в которой создаются динамические структуры и выполнить их обработку
в соответствии со своим вариантом.

 

Для
каждого варианта разработать следующие функции:

1.
Создание списка.

2.
Добавление элемента в список (в соответствии со своим вариантом).

3.
Удаление элемента из списка (в соответствии со своим вариантом).

4.
Печать списка.

5.
Запись списка в файл.

6.
Уничтожение списка.

7.
Восстановление списка из файла.

 

Порядок
выполнения работы

1.
Написать функцию для создания списка. Функция может создавать пустой список, а
затем добавлять в него элементы.

2.
Написать функцию для печати списка. Функция должна предусматривать вывод
сообщения, если список пустой.

3.
Написать функции для удаления и добавления элементов списка в соответствии со
своим вариантом.

4.
Выполнить изменения в списке и печать списка после каждого изменения.

5.
Написать функцию для записи списка в файл.

6.
Написать функцию для уничтожения списка.

7.
Записать список в файл, уничтожить его и выполнить печать (при печати должно
быть выдано сообщение "Список пустой").

8.
Написать функцию для восстановления списка из файла.

9.
Восстановить список и распечатать его.

10.Уничтожить
список.


Блок-схема решения задачи.

4.     Программный код решения задачи.

        

#include

#include

#include

#include

#include

 

typedef struct
TList //структура список

{

    int data;//поле данных

    struct TList *next;//указатель на следующий элемент

} List;

 

List* Add(List
*l, List *ends, int n) //добавление звена списка

{

    if (l==NULL) //если список ещё не создан,то

    {

       l=new List;//выделяем место под голову списка

       l->next=NULL;//зануляем указатель на следующий
элемент

       l->data=n;//заносим данные в голову списка

            ends = l;//запоминаем конец списка

    }

    else //иначе

    {

       List *x= new List;//выделяем место под новый элемент

       x->data=n;//заносим туда данные

            x->next= NULL;//зануляем указатель на следующий
элемент

       ends->next=x;//связываем новый элемент с концом
списка

            ends = x;//устанавливаем конец списка на новый
элемент

    }

         return ends;//возвращаем как результат функции наш
список

}

 

void Print(List
*l) //вывод списка

{

         if (l == NULL) {

                   printf("Список пустой\\n");

                   return;

         }

         List *tmp;

         tmp = l;

    while (tmp!=NULL) //пока не конец списка,делаем

    {

        printf("%3d",tmp->data);//выводим данные с 3 позициями для
вывода

        tmp=tmp->next;//переходим к следующему элементу

    }

    printf("\\n");//переводим строку

}

//процедура удаления элемента со значеним m

List * Del(List
*l, List *ends, int m) {

         if (l == NULL) {

                   printf("Список
пустой\\n");

                   return l;