Опять же, от нечего делать, в процессе изучения народом динамических структур данных на Си. Много таких примеров есть в этом архиве (около 5 мб, нужна работа 7). Ну а по данному листингу - вопросы в его начале, думаю, Вы легко на них ответите, раз уж зашли на эту страницу?
//Какая динамическая структура данных реализована в этом примере? //До каких пор будут добавляться элементы? //Как бы Вы реализовали удаление элементов? #include <stdio.h> #include <stdlib.h> #include <alloc.h> #include <values.h> typedef struct list { int n; list *next; }; list *add() { list *p=(list *)calloc(1,sizeof(list)); p->n=random(MAXINT); p->next=NULL; return p; } void show (list *p) { while (p->next) { printf ("%d\t",p->n); p=p->next; } printf ("%d\t",p->n); } void main () { unsigned long f; list *s,*prev; unsigned long n=0; do { s=add(); if (n>0) s->next=prev; prev=s; n++; f=(unsigned long) coreleft(); } while (f>sizeof(list)); show (s); printf ("\n%lu item(s)",n); fflush (stdin); getchar(); }
04.03.2010, 12:59 [9829 просмотров]