Dynamic list

520 views

Published on

Published in: Education, Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
520
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Dynamic list

    1. 1. Язык С Использование динамических списков Bovanenko Alexei
    2. 2. Структура <ul> <li>char c; </ul> <ul> <li>int i; </ul> <ul> <li>char *p; </ul> <ul> <li>Данные логически относятся к одному объекту </ul> <ul> <li>typedef struct{char c; int i; char *p; } MyType_t; </ul> <ul> <li>По мере появления данных добавляем их в структуру </ul> <ul> <li>Структуру помещаем в список </ul>
    3. 3. Помещение структур в список Список Структура Структура Структура
    4. 4. Однонаправленный список MyType_t *p1 MyType_t *p2 MyType_t *p3 MyType_t* next=p2; MyType_t* next=p3; Структура Структура Структура
    5. 5. Двунаправленный список MyType_t *p1 MyType_t *p2 MyType_t *p3 p1->next=p2; p2->next=p3; p2->prev=p1; p3->prev=p2; Структура Структура Структура
    6. 6. Однонаправленный список <ul> <li>typedef struct Struct_t{ char c; int i; char *p; Struct_t *next; } MyType_t; </ul>
    7. 7. Двунаправленный список <ul> <li>typedef struct Struct_t{ char c; int i; char *p; Struct_t *next; Struct_t *prev; } MyType_t; </ul>
    8. 8. Добавление элементов в однонаправленный список <ul> <li>Указатель на первый элемент списка </ul> <ul> <ul> <li>MyType_t *pFirst=NULL; </ul> </ul> <ul> <li>Указатель на последний элемент списка </ul> <ul> <ul> <li>MyType_t *pCur=NULL; </ul> </ul> <ul> <li>Добавление структуры MyType_t *p в список: </ul> <ul> <ul> <li>Список пустой </ul> </ul> <ul> <ul> <ul> <li>pFirst=p; pCur=p; </ul> </ul> </ul> <ul> <ul> <li>В списке есть элементы </ul> </ul> <ul> <ul> <ul> <li>pCur->next=p; pCur=p; </ul> </ul> </ul>
    9. 9. Добавление элементов в двунаправленный список <ul> <li>Указатель на первый элемент списка </ul> <ul> <ul> <li>MyType_t *pFirst=NULL; </ul> </ul> <ul> <li>Указатель на последний элемент списка </ul> <ul> <ul> <li>MyType_t *pCur=NULL; </ul> </ul> <ul> <li>Добавление структуры MyType_t *p в список: </ul> <ul> <ul> <li>Список пустой </ul> </ul> <ul> <ul> <ul> <li>pFirst=p; pCur=p; </ul> </ul> </ul> <ul> <ul> <li>В списке есть элементы </ul> </ul> <ul> <ul> <ul> <li>pCur->next=p; p->prev=pCur; pCur=p; </ul> </ul> </ul>
    10. 10. Конец Вопросы e-mail: a.bovanenko@gmail.com

    ×