Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
13 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
92.83 kB
Просмотров:
59
Скачиваний:
2
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![Списки Лекция](/documents_6/9048276c7a934d2bd7e5298d43b26186/img0.jpg)
Содержание слайда: Списки
Лекция 2
№2 слайд![Определения Список структура](/documents_6/9048276c7a934d2bd7e5298d43b26186/img1.jpg)
Содержание слайда: Определения
Список – структура данных, представляющая собой конечную последовательность элементов.
Элемент списка:
№3 слайд![Односвязные списки](/documents_6/9048276c7a934d2bd7e5298d43b26186/img2.jpg)
Содержание слайда: Односвязные списки
Односвязный список – это список, у элементов которого существует связь, указывающая на следующий элемент списка ( односторонняя связь).
№4 слайд![Описание списка на Си struct](/documents_6/9048276c7a934d2bd7e5298d43b26186/img3.jpg)
Содержание слайда: Описание списка на Си
struct list {
int data; //информационное поле, данные
struct list *next; // указатель на следующий элемент списка
};
/* Описание переменных: */
struct list *head=NULL; // - указатель на голову списка
struct list *p, *t;
№5 слайд![Создание первого элемента](/documents_6/9048276c7a934d2bd7e5298d43b26186/img4.jpg)
Содержание слайда: Создание первого элемента списка
p = (struct list*) malloc( sizeof( struct list ) );
p->data = 5;
p->next = NULL;
head = p;
№6 слайд![Вставка нового элемента в](/documents_6/9048276c7a934d2bd7e5298d43b26186/img5.jpg)
Содержание слайда: Вставка нового элемента в начало списка
p = (struct list*) malloc( sizeof( struct list ) );
p->data = 3;
p->next = head;
head = p;
№7 слайд![Вставка нового элемента в](/documents_6/9048276c7a934d2bd7e5298d43b26186/img6.jpg)
Содержание слайда: Вставка нового элемента в конец списка
p = (struct list*) malloc( sizeof( struct list ) );
p->data = 10;
p->next = NULL;
t = head;
while (t->next != NULL)
t = t->next;
t->next = p;
№8 слайд![Вставка нового элемента в](/documents_6/9048276c7a934d2bd7e5298d43b26186/img7.jpg)
Содержание слайда: Вставка нового элемента в середину списка
p = (struct list*) malloc( sizeof( struct list ) );
p->data = 4;
t = head;
while (t->next ->data != 5) //вставка перед элементом с заданным свойством
t = t->next;
p->next = t->next;
t->next = p;
№9 слайд![Удаление элемента из списка t](/documents_6/9048276c7a934d2bd7e5298d43b26186/img8.jpg)
Содержание слайда: Удаление элемента из списка
t = head;
while (t->next ->data != 5)
t = t->next;
p = t->next;
t->next = p->next;
free(p);
№10 слайд![Циклические списки](/documents_6/9048276c7a934d2bd7e5298d43b26186/img9.jpg)
Содержание слайда: Циклические списки
Циклический список – это список, в котором связь последнего элемента указывает на первый или один из других элементов этого списка.
№11 слайд![Двусвязные списки Двусвязные](/documents_6/9048276c7a934d2bd7e5298d43b26186/img10.jpg)
Содержание слайда: Двусвязные списки
Двусвязные списки – это списки, элементы которых имеют по две связи, указывающие на предыдущий и следующий элементы.
№12 слайд![Удаление элемента из](/documents_6/9048276c7a934d2bd7e5298d43b26186/img11.jpg)
Содержание слайда: Удаление элемента из двусвязного списка
List *del (List *p) { //возвращает указатель на следующий элемент списка
List *pp,*pn;
if (p == NULL) return NULL;
pp = p->prev;
pn = p->next;
if (pp) pp->next = pn;
if (pn) pn->prev = pp;
free(p);
return pn;
}
№13 слайд![Иерархические списки Это](/documents_6/9048276c7a934d2bd7e5298d43b26186/img12.jpg)
Содержание слайда: Иерархические списки
Это списки, значениями элементов которых являются указатели на другие списки (подсписки).