Опять же, от нечего делать, в процессе изучения народом динамических структур данных на Си. Много таких примеров есть в этом архиве (около 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();
}
программирование алгоритм c++ комментарии (0) 04.03.10, 12:59; рейтинг:121 |
||||
|
||||