двусвязный список



Автор Леня! задал вопрос в разделе Другие языки и технологии

Как в c# реализовать двусвязный список? и получил лучший ответ

Ответ от Johnny Strange[эксперт]
struct TPers { AnsiString Fam; int Year, Mark, Degree; // Год, Оценка, квалификация TPers *pNext; TPers *pPrev; }; TPers *p0 = NULL; TPers *pCurr = NULL; void PersAdd() /// Добавление Новой Записи { TPers *pNew = new TPers; // pNew - Новая Структура if(p0 == NULL) // р0 - указатель на ПЕРВУЮ структуру в списке. {p0 = pNew; // сохраняем указатель на ПЕРВУЮ структуру в списке. pNew->pPrev = NULL;} // Предыдущей нет ! else // Уже существуюет Список структур {pCurr->pNext = pNew; // pCurr указывает на последнюю добавленную // Сохраним в Последней структуре ссылку на вновь созданную. pNew->pPrev = pCurr;} // Новая должна иметь ссылку на предыдущую pNew->pNext = NULL; // Следующей за НОВОЙ структурой нет (пока, возможно появится) // Заполним Новую Структуру данными pNew->Fam = ...// возможно что-то там еще надо... . pNew->Nam........ pCurr = pNew; // Переведем указатель последней структуры на вновь созданную. } void ReadStruct() // Проход по всем структурам с чтением информации из них { pCurr = p0; while(pCurr != NULL) { AnsiString Fam = pCurr->Fam; AnsiString Nam = pCurr->Nam; ... pCurr = pCurr->pNext; ShowMessageBox(Fam + Nam + .); } } Удаление записей Писать лень. А то память отожрал, а освобождать надо.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Как в c# реализовать двусвязный список?
спросили в Конец Списки
C++. Указатели. Связный список. Как добавить элемент в конец списка? Вопрос для разбирающихся
Ваш next, последнего элемента в списке указывает на NULL, а новый элемент списка вы создаёте по
подробнее...
спросили в Object Pascal
Pascal и C++
кому на чем удобнее на том и
подробнее...

Что такое Линейный список? Объясните пожалуйста своими словами, что такое линейный список?
Линейный список представляет собой последовательность n≥0 узлов Х [1], X[2], … , X[n], важнейшей
подробнее...

Списки в Си. Подскажите, пожалуйста, сайт, где доступно и понятно изложена тема линейных списков на Си (не ++)
односвязный циклический список это как бы рукурсивное объявление струкутыр, точнее указателя на нее
подробнее...
Связный список на Википедии
Посмотрите статью на википедии про Связный список
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*