1. Напишите 4 возможные структуры данных, создаваемых на основе определения int **pp, и 4 выражения, соответствующие им
2. Напишите фрагмент обхода циклического списка в прямом направлении
3. Трудоемкость алгоритма генерации подмножеств, ее обоснование
4. Результат функции, комментарии, смысл указателей, вызов на статических данных
#include
struct list { int val; list *next,*prev; };
{ list *q = new list;
int n0=n;
q->val = v; q->next = q->prev = q;
if (ph == NULL) { ph=q; return; }
list *p;
for (p=ph; n--!=0; p=p->next);
q->next = p; q->prev = p->prev;
p->prev->next = q; p->prev = q;
if ( n0==0) ph=q; }
5. Результат функции, комментарии, вызов на статических данных
#include
#include
void F11(char *p[], int m){
int n; char *q;
for (n=0; p[n]!=0; n++);
if (m >= n) return;
for (; n>m; n--) p[n+1] = p[n];
p[m+1] = strdup(p[m]); }