Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
28
Добавлен:
02.05.2014
Размер:
46.08 Кб
Скачать

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра технической кибернетики

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

Создание списковых структур данных

Выполнили: студенты

группы АСОИ-232

Кутушева А.Ш.

Латыпова А.Р.

Шангареева Ю.М

Приняла: Семененко Д.В.

Уфа 2007

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

Листинг программы:

#include <stdlib.h>

#include <stdio.h>

struct cell /* Определение структурного типа "Звено списка"*/

{

char name [10];

int phone;

struct cell * pc;

};

void main()

{

/* Указатель для перебора звеньев списка: */

struct cell * rex;

struct cell * beg=NULL; /* Начало списка */

struct cell * end=NULL; /* Конец списка */

printf("\nVvedite znacheniya struktur:\n");

/* Цикл ввода и формирования списка */

do

{

/* Выделить память для очередного звена списка */

rex=(struct cell *)malloc(sizeof(struct cell));

/* Ввести значения элементов звена */

printf("name=") ;

scanf("%s",& rex->name) ;

printf("phone=") ;

scanf("%d",& rex->phone);

if(rex->phone == 0)

{

free(rex) ;

break; /* Выход из цикла ввода списка */

}

/* Включить звено в список: */

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

/* Список пуст - включить введенный элемент в список первым*/

beg=rex;

else

end->pc=rex;

end=rex ;

end->pc=NULL ;

}

while(1) ; /* Выход из цикла ввода списка */

/* Включить звено в список: */

printf("\nSoderganie spiska:") ;

rex=beg;

while (rex!=NULL)

{

printf("\nname=%s\tphone=%d",rex->name,rex->phone) ;

rex=rex->pc;

}

printf("\n") ;

}

Блок-схема

да

нет

Вывод: в ходе этой лабораторной работы были исследованы способы обработки односвязных списков. Была составлена программа, реализующая создание односвязного списка с нулевым признаком окончания списка.

4

Соседние файлы в папке Лабораторная работа №11