Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2014, 20:39   #1
Kpeстный
Новичок
Джуниор
 
Регистрация: 23.04.2014
Сообщений: 1
По умолчанию Прокоментировать код

Помогите пожалуйста прокомментировать код, если можно пожалуйста каждую строчку...что делает... . Заранее огромное спасибо!

#include <stdio.h>
#include <stdlib.h>

struct Node
{
struct Node *prev;
struct Node *next;
int value;
};

typedef struct Node* PNode;

PNode add(PNode tail, int value)
{
PNode node = (PNode)malloc(sizeof(struct Node));
node->value = value;
if (tail)
{
tail->next = node;
node->prev = tail;
node->next = NULL;
}
else
{
node->prev = NULL;
node->next = NULL;
}

return node;
}

void freeList(PNode tail)
{
while (tail)
{
PNode prev = tail->prev;
free(tail);
tail = prev;
}
}

int main(void) {
PNode tail = NULL;


int x;
int Count = 0;
printf("Create list - exit x < 0 \n");
do{
scanf("%d", &x);
if (x>=0)
{
tail = add(tail, x);
Count++;
}
}
while(x>=0);



if (Count)
{
int midPos = Count/2;
PNode mid = tail;
int i;
for (i=0;i<midPos;i++)
mid = mid->prev;

printf("middle value %d\n", mid->value);
printf("left part: ");
PNode left = mid->prev;
while(left)
{
printf("%d ", left->value);
left = left->prev;
}

printf("\nright part: ");
PNode right = mid->next;
while(right)
{
printf("%d ", right->value);
right = right->next;
}
printf("\nend\n");

freeList(tail);
}
else
printf("No elements in list");


return 0;
}
Kpeстный вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужно прокоментировать код Владимир31 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 04.04.2011 23:45
прокоментировать md5. С. по скайпу. chesar Фриланс 0 04.02.2011 20:48
Прокоментировать 2 строки Syltan Общие вопросы C/C++ 8 24.09.2009 18:29
Господа можете прокоментировать код. hub2002 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 07.08.2009 02:03
С++ Прокоментировать программу М@лышка Помощь студентам 10 05.06.2009 03:30