
- •Программирование и структуры данных
- •Программирование и структуры данных
- •Программирование и структуры данных
- •Программирование и структуры данных
- •Программирование и структуры данных
- •Программирование и структуры данных
- •Программирование и структуры данных
- •Программирование и структуры данных
- •Программирование и структуры данных
- •Программирование и структуры данных
- •Программирование и структуры данных
- •Программирование и структуры данных
- •Программирование и структуры данных
- •Программирование и структуры данных
- •Программирование и структуры данных
- •Программирование и структуры данных

Программирование и структуры данных |
2007 г. |
СТРУКТУРЫ ДАННЫХ
Лекция 2.
ОБРАБОТКА СПИСКОВ
Бикмурзина А.Р., Захарова З.Х., Хохлов Д.Г. |
КГТУ (КАИ), кафедра АСОИУ |
1 |

Программирование и структуры данных |
2007 г. |
|
Обработка списков |
Список (связанный) –
это способ хранения данных в виде последовательности элементов, где каждый элемент содержит:
•информацию – значение элемента,
•указатель – местоположение
следующего элемента.
Бикмурзина А.Р., Захарова З.Х., Хохлов Д.Г. |
КГТУ (КАИ), кафедра АСОИУ |
2 |

Программирование и структуры данных |
|
2007 г. |
|||
|
|
|
Обработка списков |
||
|
Составные части списка |
|
|||
|
|
Элементы списка |
|
|
|
|
|
|
. . . |
|
0 |
Указатель |
Значение |
Указатель |
Пустой |
|
|
списка |
элемента |
следующего |
указатель |
||
Бикмурзина А.Р., Захарова З.Х., Хохлов Д.Г. |
КГТУ (КАИ), кафедра АСОИУ |
3 |

Программирование и структуры данных |
|
2007 г. |
|
|
|
Обработка списков |
|
Строка символов в виде списка |
|||
‘С’ |
‘О’ |
‘Н’ |
0 |
Указатель |
|
Пустой указатель |
|
списка |
|
||
|
– конец строки |
||
|
|
||
Бикмурзина А.Р., Захарова З.Х., Хохлов Д.Г. |
КГТУ (КАИ), кафедра АСОИУ |
4 |

Программирование и структуры данных |
2007 г. |
Представление списка в памяти
Символ
Элемент списка |
Ссылка |
Адрес |
Ячейка |
Адрес |
Ячейка |
|
2101 |
‘O’ |
2109 |
‘Н' |
|
2102 |
2109 |
2110 |
0000 |
|
2103 |
|
2111 |
|
|
2104 |
|
2112 |
|
|
2105 |
|
2113 |
‘С' |
|
2106 |
|
2114 |
2101 |
|
2107 |
|
|
|
|
2108 |
|
Указатель |
2113 |
|
|
|
списка |
|
|
Бикмурзина А.Р., Захарова З.Х., Хохлов Д.Г. |
КГТУ (КАИ), кафедра АСОИУ |
5 |
|

Программирование и структуры данных |
|
|
2007 г. |
|
|
|
|
Обработка списков |
|
Включение элемента в список |
||||
‘С’ |
|
‘О’ |
‘Н’ |
0 |
Указатель |
‘Л’ |
|
Пустой указатель |
|
списка |
|
|||
|
|
– конец строки |
||
|
|
|
||
Бикмурзина А.Р., Захарова З.Х., Хохлов Д.Г. |
|
КГТУ (КАИ), кафедра АСОИУ |
6 |

Программирование и структуры данных |
2007 г. |
Включение элемента в памяти
Символ
Элемент списка |
Ссылка |
Адрес |
Ячейка |
Адрес |
Ячейка |
||
2101 |
‘O’ |
2109 |
‘Н' |
||
2102 |
2109 |
2110 |
0000 |
||
2103 |
|
2111 |
|
|
|
2104 |
|
2112 |
|
|
|
2105 |
‘Л’ |
2113 |
‘С' |
||
2106 |
2101 |
2114 |
2101 |
2105 |
|
2107 |
|
|
|
|
|
2108 |
|
Указатель |
2113 |
||
|
|
списка |
|
|
|
|
|
|
|
|
|
Бикмурзина А.Р., Захарова З.Х., Хохлов Д.Г. |
КГТУ (КАИ), кафедра АСОИУ |
7 |
|
|

Программирование и структуры данных |
|
2007 г. |
|
Обработка списков |
|
Циклический список |
|
|
|
. . . |
|
Указатель |
|
|
списка |
|
|
Бикмурзина А.Р., Захарова З.Х., Хохлов Д.Г. |
КГТУ (КАИ), кафедра АСОИУ |
8 |

Программирование и структуры данных |
2007 г. |
Описание данных для списков с использованием ссылочных переменных
struct el_sp |
// Тип элемента списка |
{ char zn; |
// Значение элемента |
struct el_sp *uk; |
// Указатель следующего элемента |
}; |
|
struct el_sp *p; struct el_sp *i, *j;
char sim;
//Указатель списка
//Указатели элементов
Бикмурзина А.Р., Захарова З.Х., Хохлов Д.Г. |
КГТУ (КАИ), кафедра АСОИУ |
9 |

Программирование и структуры данных |
2007 г. |
Обозначения:
p- указатель списка (адрес 1-го эл-та)
*p – 1-й элемент
(*p).zn |
– поле значения 1-го эл-та |
|
p->zn |
- поле значения 1-го эл-та |
|
(*p).uk |
– поле указателя 1-го эл-та (адрес 2-го |
|
|
|
эл-та) |
p->uk |
- |
поле указателя 1-го эл-та (адрес 2-го |
|
|
эл-та) |
p->uk->zn |
– поле значения 2-го эл-та |
|
p->uk->uk |
– поле указателя 2-го эл-та |
*i - элемент списка, на который ссылается указатель i i-> zn – поле значения элемента *i
i->uk – поле указателя элемента *i
Бикмурзина А.Р., Захарова З.Х., Хохлов Д.Г. |
КГТУ (КАИ), кафедра АСОИУ |
1 |
|
|
0 |