8.1 Линейный одно-связанный список
- Описание элемента списка:
-
struct Link
{
struct
Link *next;
int
data;
};
- Описание заголовка списка:
-
struct SimpleList
{
struct
Link *first;
int
len;
};
- Функция инициализации списка:
-
void InitSimpleList(struct SimpleList *list)
{
list->first=NULL;
list->len=0;
}
- Функция вставки нового элемента данных в список:
-
void AddSimpleList(struct SimpleList *list, int data)
{
struct
Link *link=(struct Link*)malloc(sizeof(struct Link));
link->data=data;
link->next=list->first;
list->first=link;
list->len++;
}
- Функция печати списка
-
void PrintSimpleList(struct SimpleList
*list)
{
struct
Link *link;
printf("++PrintList++\n");
for(link=list->first;
link!=NULL; link=link->next)
printf("%d",link->data);
printf("\n");
}
-
//Пример использования списка
void
main()
{
struct
SimpleList Numbers;
InitSimpleList(&Numbers);
AddSimpleList(&Numbers,100);
AddSimpleList(&Numbers,70);
AddSimpleList(&Numbers,500);
AddSimpleList(&Numbers,10000);
AddSimpleList(&Numbers,2200);
PrintSimpleList(&Numbers);
getch();
}
|
|